vbsで、フォルダ内にあるcsvファイル全てを開き、マクロを起動させたい。
こんにちは。
お世話になっております。
さて、最初はバッチでどうにかならないかと思っていましたが、下記vbsソースを見つけ、
早速チャレンジしたのですが、ファイルが開くところまではうまく行きますが、「マクロ Macro1がありません」というメッセージが出てしまい、マクロが実行されません。
手動でマクロを実行しようとするときに出てくるマクロ一覧には、PERSONAL.XLS:Macro1と、表示されております。
マクロの保存先をまちがえているのでしょうか?
また、あるフォルダのcsvファイル全てに対して1つのvbsキックで処理が行なわれるようにするには、どの様にすればいいでしょうか?
よろしくお願いします。
-----------------------------------------------------------------------
Dim obj
Set obj = WScript.CreateObject("Excel.Application")
obj.Visible = True
obj.Workbooks.Open "C:\Documents and Settings\Administrator\My Documents\001.xls"
obj.Application.Run "Macro1"
No.2ベストアンサー
- 回答日時:
>あるフォルダのcsvファイル全てに対して1つのvbsキックで処理が行なわれるようにするには、
VBSキックで処理とはなんでしょうか?何をするのですか?
私は、とても疑問に感じています。ご質問者さんは、ある程度VBAはご存知だと思います。それなのに、PERSONAL.XLS を呼び出すというのは、Excel(全バージョン)にとって、もっともセキュリティの甘い場所にアクセスすることですから、出来るなら、そのような方法は変えてほしいと思います。
DefaultFilePath (ふつうは、My Documentです)の一般ファイル(xls)にしたらどうですか?PERSONAL.XLSを狙うというのは、典型的なOfficeのウィルスの考え方です。そして、セキュリティをくぐり抜ける方法を教えてほしいというわけです。
最初から、Excelのマクロからしたらいかがですか?もしくは、Excelマクロを呼び出さずに、VBScript のスクリプトにExcelマクロを移植してしまえばよいです。もちろん、Excelのタイプライブラリを使う方法は出来るものと出来ないものがありますから、VBScript では、難しい部分はあります。
>マクロを有効にするかどうか聞いてくるだけで、マクロ自体は実行されません。どうしてでしょうか?
ダイレクトにマクロを呼び出しすれば、セキュリティが働きます。それを、外さないで動かす方法はありますが、それは、その後のマクロの内容によります。それ以前に、CSV 自体は、テキストファイルですから、Excelのマクロを使う必要があるのでしょうか。きつい言い方ですが、悪く思わないでください。この手の質問は多いのですが、ただ教えればよいというものではないからです。
No.3
- 回答日時:
手抜きせず,必要なブック(=マクロを持たせたブック)を開いてからマクロを実行してください。
obj.workbooks.open "c:………\PERSONAL.xls"
obj.application.run "PERSONAL.xls!Macro1"
No.1
- 回答日時:
誰が持ってるMacro1か,ちゃんと指定してやらないとエクセルに判りません。
obj.Application.Run "001.xls!Macro1"
この回答への補足
すみません。
お礼に、マクロの有効メッセージが出るだけ、と書きましたが、フルパスで指定している「PERSONAL.XLS」が見つかりません、というエラーMSGも隠れて出ておりました。
パス、ファイル名に間違いはいのですが。。。
以上、補足いたします。
回答のほう、ありがとうございました。
意味がわかりましたので、下記のようにしてみましたが、マクロを有効にするかどうか聞いてくるだけで、マクロ自体は実行されません。どうしてでしょうか?
すみませんが教えてください。
よろしくお願いします。
Dim obj
Set obj = WScript.CreateObject("Excel.Application")
obj.Visible = True
obj.Workbooks.Open "C:\Documents and Settings\XXXXXX\デスクトップ\ABC.csv"
obj.Application.Run "C:\Documents and Settings\XXXXXX\Application Data\Microsoft\Excel\XLSTART\PERSONAL.XLS!Macro1"
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のパソコンでエクセルのマク...
-
エクセルで印刷する方法 エクセ...
-
エクセルでマクロを有効にする...
-
VBA マクロ実行時エラー’1004Ra...
-
EXCELで日付を自動でファイル名...
-
コピーしたファイルのマクロを...
-
作ったマクロが増えてきて、ど...
-
エクセル2013vbaで、見えない名...
-
エクセルファイルを自身のファ...
-
アドインファイルの作り方
-
photoshopのことで教えて下さい
-
AccessからExcelマ...
-
Adobe Reader を閉じる
-
VBAを一度起動するとずっと出て...
-
エクセル2003 マクロのセキュ...
-
エクセルのマクロで別ファイル...
-
Excel2010 PERSONAL.xlsbの挙動...
-
エクセルマクロ実行中に別ファ...
-
エクセルでファイルを表示した...
-
Excelが勝手にシート移動してし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを一度起動するとずっと出て...
-
コピーしたファイルのマクロを...
-
エクセル終了時の保存確認メッ...
-
excelファイルに使われているVB...
-
昨日まで動いていたエクセルの...
-
VBA マクロ実行時エラー’1004Ra...
-
EXCEL マクロ クリップボードク...
-
マクロを消すマクロは不可能?
-
別のパソコンでエクセルのマク...
-
Excelが勝手にシート移動してし...
-
アクセスでファイルを開いたと...
-
エクセルファイルを自身のファ...
-
外部データを取り込むマクロ
-
Excelマクロ ファイル名が変わ...
-
エクセルマクロ実行中に別ファ...
-
エクセル2013vbaで、見えない名...
-
【マクロ】エラーが発生⇒実行時...
-
サクラエディタのマクロ設定を...
-
EXCELマクロコードを、それを含...
-
エクセルマクロを有効にしない...
おすすめ情報