【ExcelVBA】ブックを開かないでワークシート名を抽出
ブックを開かないでワークシート名を取得します。
ただし、ワークシート名に記号('!$)等が使われている場合は、そのワークシート名に関しては正しく取得できません。
これらの記号が使われることはあまりないと思うのですが、ご注意ください。
詳しくは記事:【ExcelVBA】ブックを開かないでセルのデータを抽出
ただし、ワークシート名に記号('!$)等が使われている場合は、そのワークシート名に関しては正しく取得できません。
これらの記号が使われることはあまりないと思うのですが、ご注意ください。
ADOX 関連ライブラリーの有効化
必要になるADOX関連のライブラリーになります。
Microsoft ActiveX Data Objects x.x Library
- マクロの編集画面(Microsft Visual Basic for Applications)を開く。
- 画面上部の「ツール」→「参照設定」
- 「Microsoft ActiveX Data Objects x.x Library」有効化する。
ワークシート名の全部をイミディエイト画面に表示
イミディエイト画面に、全てのワークシート名を表示する。
Sub Sample()
Dim objCN As New ADODB.Connection
Dim objRS As ADODB.Recordset
Dim sFile As String
Dim sSheet As String
sFile = "E:\SAMPLE\TEST.xlsx"
With objCN
.Provider = "Microsoft.ACE.OLEDB.12.0"
.Properties("Extended Properties") = "Excel 12.0"
.Open sFile
End With
Set objRS = objCN.OpenSchema(ADODB.adSchemaTables)
Do Until objRS.EOF
sSheet = objRS.Fields("TABLE_NAME").Value
If Right(sSheet, 1) = "$" Or Right(sSheet, 2) = "$'" Then
sSheet = Replace(sSheet, "$", "")
sSheet = Replace(sSheet, "'", "")
Debug.Print sSheet
End If
objRS.MoveNext
Loop
objRS.Close
objCN.Close
Set objRS = Nothing
Set objCN = Nothing
End Sub
ブックを開かないでセルのデータを抽出
ExecuteExcel4Macro メソッドを使用して、ブックを開くことなく、セルのデータを読み込む方法です。詳しくは記事:【ExcelVBA】ブックを開かないでセルのデータを抽出




ディスカッション
コメント一覧
まだ、コメントがありません