エクセルで記載したVBAマクロをVBSから起動しようとしてもうまく動作しません。
VBA単体で動かすときちんと動作しますが、VBSから起動するとどうもうまくいきません。
月初めにタスクで複数シートのある範囲のセルの値を消したいだけなのですが、ご教授いただけると助かります。
ExcelVBA(C:\hoge\hoge.xlsm)
sub 処理()
Dim i As Integer
For i =1 To 31
worksheets(i).select
range ("A1:B9").ClearContents
next i
End sub
VBS
Dim ExcelApp
Dim ExcelBook
Dim FilePath
FilePath = "C:\hoge\hoge.xlsm"
Set ExcelApp=CreateObject("Excel.Application")
Set ExcelBook= ExcelApp.Workbooks.Open(FilePath)
ExcelApp.ActiveWorkbook.Worksheets("1").select
ExcelApp.visible = false
ExcelApp.Run "処理()"
ExcelBook.Close True
ExcelApp.quit
Set ExcelApp=Nothing
Set ExcelBook=Nothing
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No,1の方と同じですが、マクロが
For i =1 To 31
worksheets(i).select
・・・
next i
なので
ExcelApp.ActiveWorkbook.Worksheets("1").select は 不要?
Set ExcelApp=CreateObject("Excel.Application")
ExcelApp.Workbooks.Open(FilePath)
ExcelApp.visible = True
ExcelApp.Run "処理()"
で一度、試してみれば
原因がわかれば
ExcelApp.visible = False に
No.1
- 回答日時:
こんにちは。
Excel側のマクロについては、そのままにしておきますが、
VBS側は、2点気になる部分があります。
>ExcelApp.ActiveWorkbook.Worksheets("1").select
("1") というのは正しいですか。 Worksheets(1) ではありませんか?
Excel側のマクロが、i をインデックスとして使っているのなら、VBS側も同じ扱いのほうがよいです。(本来は不要のはずです)
そして、オブジェクトを作ったのですから、
それは、ExcelBook.Worksheets(1).Select
と同等の意味のはずです。
>ExcelApp.Run "処理()"
処理()というマクロが、標準モジュールにおいてあることが条件と、
動かない場合は、
ExcelApp.Run "'"&ExcelBook.Name& "'!処理()"
と、ブックから、まとめて呼び出したほうがよいです。
同名のプロシージャー・マクロがある時は、Module 名も付けます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) バックグラウンドのプロセスのエクセルを閉じる方法 4 2022/05/12 15:39
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
治せない「クセ」を教えてください
なくて七癖という言葉どおり、人によっていろいろなクセがありますよね。 あなたには治せないクセがありますか?
-
【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
「出身中学と出身高校が混ざったような校舎にいる夢を見る」「まぶたがピクピクしてるので鏡で確認しようとしたらピクピクが止まってしまう」など、 これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
-
【選手権お題その2】この漫画の2コマ目を考えてください
サッカーのワンシーンを切り取った1コマ目。果たして2コマ目にはどんな展開になるのか教えてください。
-
すでに開いているブックのマクロを起動させるvbsを教えてください
Visual Basic(VBA)
-
VBA+VBSによる別インスタンスBookOpen時のVBSエラーに関して
Excel(エクセル)
-
“.vbs”のファイルが実行できない
Windows Me・NT・2000
-
-
4
バッチファイルファイル→VBS→エクセル マクロを有効にして起動
Excel(エクセル)
-
5
VBS Bookを閉じるコード
Visual Basic(VBA)
-
6
開いてるファイル(エクセル等)をバッチかVBScript自動的に保存す
その他(Microsoft Office)
-
7
vbsからのExcelマクロ呼び出しの際に保存ダイアログが表示されてしまう
その他(プログラミング・Web制作)
-
8
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
Excel_マクロ_現在開いているシ...
-
Excel マクロでShearePoint先の...
-
エクセルに張り付けた写真のフ...
-
特定文字のある行の前に空白行...
-
ExcelのVBA。public変数の値が...
-
wordを起動した際に特定のペー...
-
エクセルで縦に並んだデータを...
-
EXCELマクロでのThisisWor...
-
ExcelVBAでPDFを閉じるソース
-
Excel VBAからAccessマクロを実...
-
エクセルで別のセルにあるふり...
-
エクセルマクロでワードの一ペ...
-
エクセル マクロ 指定日の指定...
-
ソース内の行末に\\
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
エクセルに張り付けた写真のフ...
-
ExcelのVBA。public変数の値が...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
ExcelVBAでPDFを閉じるソース
-
Excel VBAからAccessマクロを実...
-
Excel_マクロ_現在開いているシ...
-
マクロ実行時、ユーザーフォー...
-
エクセルで別のセルにあるふり...
-
ソース内の行末に\\
-
特定文字のある行の前に空白行...
-
マクロで空白セルを詰めて別シ...
-
wordを起動した際に特定のペー...
-
【EXCEL VBA】オートシェイプを...
おすすめ情報