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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ExcelVBA】全シートのセルの...
-
Excelマクロのエラーを解決した...
-
VBAで指定シート以外の選択
-
excelのマクロで該当処理できな...
-
ユーザーフォームに入力したデ...
-
特定の文字を含むシートだけマ...
-
ブック名、シート名を他のモジ...
-
エクセル・マクロ シートの非...
-
実行時エラー'1004': WorkSheet...
-
IFステートの中にWithステート...
-
別のシートから値を取得するとき
-
セルの値によって、シート見出...
-
同じ作業を複数のシートに実行...
-
エクセル VBA シートのコピー
-
月ごとに作成している日報ファ...
-
エクセルVBA Ifでシート名が合...
-
Worksheet_Changeの内容を標準...
-
エクセルの絶対参照の一括操作...
-
シート削除のマクロで「delete...
-
Excel VBA で自然対数の関数Ln...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
実行時エラー'1004': WorkSheet...
-
XL:BeforeDoubleClickが動かない
-
excelのマクロで該当処理できな...
-
Excelマクロのエラーを解決した...
-
別のシートから値を取得するとき
-
ブック名、シート名を他のモジ...
-
VBA 存在しないシートを選...
-
シートが保護されている状態で...
-
同じ作業を複数のシートに実行...
-
VBAで指定シート以外の選択
-
Excel VBA リンク先をシート...
-
エクセル・マクロ シートの非...
-
実行時エラー1004「Select メソ...
-
ExcelのVBAのマクロで他のシー...
-
【Excel VBA】Worksheets().Act...
-
エクセルVBA Ifでシート名が合...
-
userFormに貼り付けたLabelを変...
おすすめ情報