私はいくつかの助けが必要です。私はブック(A)を持っていて、別のブック(B)を開いてB内のマクロを実行したい。 ワークブック(B)は、別のブック(C)にSQL接続を行い、ワークブック(A)からブックを開き、マクロを実行すると、「ファイルが開いています」(WorkBooK(C))というメッセージが表示されます。 このメッセージをスキップするにはどうすればいいですか?vba Excelデータ接続
接続データを開いたとき、私はエラーを取得します。
ブック(B)を開くためのコードは次のとおり
Sub OpenWorkBookandRun()
tarPath = "..............\"
strfilename = "..........xlsm"
Application.Workbooks.Open tarPath & strfilename
'Run Macro
Workbooks(strfilename).Activate
Application.Run "'................'!Module1.Macro"
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
およびデータ起源を開くためのワークブック(B)内のコードは次のとおり
' Establezco los parametros de la conexion ADO, el RecordSet y la Cadena de conexion
Set oCONN = New ADODB.Connection
Set oRS = New ADODB.Recordset
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & OrigDatos & ";Extended Properties=""Excel 12.0;HDR=Yes;"";"
' Abro la conexion y ejecuto la sentencia SQL
If Not (oCONN Is Nothing) Then
If (oCONN.State And adStateOpen) = adStateOpen Then oCONN.Close
End If
oCONN.Open strConn <--- Line where i get the error
oRS.Open strSQL, oCONN, 1, 3
注意。ときどきfisrtブックでは、同じメッセージが表示されますが、ときどき、誰かがデータの起源を持っているため、理由がわかりません。
こんにちは、ありがとう。 Worbook(C)はこれまでどおりオープンしていますが、データ付きの表を読むだけでいいです。私がブックBを実行し、メッセージまたはエラーを受け取らないようにするには、接続はブックCを読み取りモードで開きます。私は読み取り専用のパラメータを試してみます。 –