
No.4ベストアンサー
- 回答日時:
こんにちは。
vbs詳しくないですが、この辺りを参考にすればできるかも
『Visual Basic または VBA から ADO を Excel データで使用する』
http://support.microsoft.com/kb/257819/ja
http://hanatyan.sakura.ne.jp/index.html
『ADOを使ってExcelのシート名を高速に取得する』
http://hanatyan.sakura.ne.jp/dotnet/Excel05.htm
簡単なサンプルとしては下記。
Option Explicit
Const adSchemaTables = 20
Dim adoCn
Dim adoRs
Dim wbName
Dim shName
Dim x()
Dim j
Dim chk
On Error Resume Next
wbName = "c:\work\Book1.xls"
Set adoCn = CreateObject("ADODB.Connection")
adoCn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & wbName & ";" & _
"Extended Properties=Excel 8.0;")
Set adoRs = adoCn.OpenSchema(adSchemaTables)
Do Until adoRs.EOF
If adoRs Is Nothing Then Exit Do
shName = adoRs.Fields("TABLE_NAME").Value
chk = Right(shName, 1)
If chk Like "$" Or chk Like "'" Then
ReDim Preserve x(j)
x(j) = wbName & vbTab & Left(shName, Len(shName) - 1)
j = j + 1
End If
adoRs.MoveNext
Loop
adoRs.Close
Set adoRs = Nothing
adoCn.Close
Set adoCn = Nothing
WScript.echo Join(x, vbCrLf) & vbCrLf
'win2000/ado2.7
No.3
- 回答日時:
こんちには。
その質問では、ちょっと厳しいですね。
できないとは言わないけれども、Excelはあるのですか?
あるなら、VBScript を使う意義がないと思うのです。
>エクセルファイルのフルパスを記述したテキストファイルから読み込んで、
というのは、VBScript では、最初に、Argument を取得するところから入っていかなくてはならないと思います。それで、Text ファイルの拡張子をチェックして……とか。
しょせん、CreateObject で、Excelオートメーションを呼び出すぐらいなら、最初から、Excel VBAを使えばよいのではないでしょうか?それとも、Excelのファイルだけで本体がないので、バイナリ検索でもするというなら、また話は別ですが。(ちなみに、そのスキルは私にはありません)
No.2
- 回答日時:
お望みの回答かどうかはわかりませんが、何らかのヒントになればと思い書き込みました。
シート名の取得は、
シート名 = ActiveWorkbook.ActiveSheet.Name
でできますね。
いまあるブック内の全部のシート名を取得するためにこんな感じでやっていけばなにかいい方法がみつかるのでは?
Dim WSN As String, WSN2 As String 'シート名の変数の定義
Dim i As Integer, j As Integer
i = Worksheets.Count 'シート数をカウント
WSN2 = ActiveWorkbook.ActiveSheet.Name '最初に表示していたシート名を変数に格納
For j = 1 To i
WSN = Sheets(j).Name 'シート名を格納
Sheets(WSN).Select 'シートを選択(ここで選択したシートになんらかの処理ができますね。また、シートを選択する代わりにテキストファイルに書き込みなどすればよいでしょう)
Next
Sheets(WSN2).Select '最初に表示していたシートにもどる
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
excelのマクロで該当処理できな...
-
XL:BeforeDoubleClickが動かない
-
ブック名、シート名を他のモジ...
-
別のシートを参照して計算する方法
-
ユーザーフォームに入力したデ...
-
エクセルのシート名変更で重複...
-
Worksheet_Changeの内容を標準...
-
Excelマクロのエラーを解決した...
-
VBAのセルの色の設定について
-
【Excel VBA】シート表示、非表...
-
VBAで特定のシート以外のシート...
-
エクセルVBAでダブルクリックを...
-
VBA 指定した回数分、別シート...
-
実行時エラー'1004': WorkSheet...
-
【VBA】シート名に特定文字が入...
-
vbaでworksheetfunctionでの複...
-
エクセルのマクロで条件一致の...
-
VBでEXCELのシートのコ...
-
マクロでシート名を配列に格納...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
実行時エラー1004「Select メソ...
-
特定の文字を含むシートだけマ...
-
XL:BeforeDoubleClickが動かない
-
【ExcelVBA】全シートのセルの...
-
実行時エラー'1004': WorkSheet...
-
ユーザーフォームに入力したデ...
-
【Excel VBA】Worksheets().Act...
-
エクセルVBA Ifでシート名が合...
-
Excel チェックボックスにチェ...
-
シートが保護されている状態で...
-
Excel VBA リンク先をシート...
-
ブック名、シート名を他のモジ...
-
ExcelのVBAのマクロで他のシー...
-
同じ作業を複数のシートに実行...
-
エクセルのシート名変更で重複...
-
VBA 検索して一致したセル...
-
【VBA】色のついたシート名を取得
-
VBAで指定シート以外の選択
おすすめ情報