Excel基礎

トップ > Excel > Excel基礎 > 記事
Excelトップへ
Excel基礎一覧へ



2022年11月15日【ID:0】

【番外-018】Excelを直接開かずにマクロ実行

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


以下2点について順番に解説してきます。




1.マクロ(VBA)を実行させるVBSファイルとは

そもそもVBSファイルとは何なのかについて解説します。
VBSファイルとはプログラミング言語「VBScript」で書かれたファイルのことで拡張子は「.vbs」になります。

このVBとは「Visual Basic」のことでMicrosoft社が開発したWindows上で動かすためのプログラミング言語になります。
そのVisual Basicをベースに作られたのが「VBScript」になります。

>解説を動画で見る

VBSファイルはメモ帳などで簡単に作成することができます。
メモ帳で書いた内容を保存すると通常は「.txt」で保存されますが、こちらを「.vbs」に変更すれば完成です。

例えば、下記のExcelファイルの「Set_Time」を実行する方法について解説します。

では、VBScriptで記述する内容を確認します。

Const FILE_NAME = "C:\Users\…\ファイル名.xlsm"
Const PROC_NAME = "Set_Time"
Dim app
Set app = CreateObject("Excel.Application")

With app
     'Excel非表示
     .Visible = False
     Dim wb
     Set wb = .Workbooks.Open(FILE_NAME)
     .Run wb.Name & "!" & PROC_NAME
     'アラートを消す
     .DisplayAlerts = False
     wb.Save
     wb.Close

End With

app.Quit

基本的な書き方はVBAと同じになります。


「Const FILE_NAME = "C:\Users\…\ファイル名.xlsm"」で対象のファイルを指定しています。
「Const PROC_NAME = "Set_Time"」で実行したいプロシージャ名を指定しています。
「Dim app」でappという変数を用意し、「Set app = CreateObject("Excel.Application")」でExcelを操作するためのオブジェクトを用意します。


次に変数appを使ってExcelを操作していきますが、app.Visibleやapp.Runなどとappを何度も書くのは大変なのとまとまりがないため、「With app」でappを省略できるようにしています。
WithからEnd Withの中で「.」から始まっているものがappが省略されているものになります。


「.Visible = False」でExcelを非表示にしています。
「Dim wb」でwbという変数を用意し、「Set wb = .Workbooks.Open(FILE_NAME)」でFILE_NAMEに設定したExcelファイルを開いてExcelファイルの情報をwbに設定しています。
「.Run wb.Name & "!" & PROC_NAME」でPROC_NAMEに設定したプロシージャを実行させています。
実行させるプロシージャは、「(Excelファイル名)!(プロシージャ名)」で指定します。


残りは閉じる操作になります。
「.DisplayAlerts = False」で「…を保存しますか?」の確認画面を非表示にしています。
「wb.Save」でExcelファイルを保存しています。保存する場合は、「…を保存しますか?」が表示されないため、上記の「.DisplayAlerts = False」を省略しても問題ありません。
「wb.Close」でExcelファイルを閉じています。

一連の流れが完了したため、「app.Quit」でExcelアプリを終了させて完了です。


こちらでVBSファイルとテスト用のExcelファイルを配布しています。





2.Excelファイルを時間になったら起動させる方法とは

今回は「タスクスケジューラ」を活用した方法について解説していきます。

こちらを活用することにより決まった時間にExcelファイルを立ち上げることができます。
また「1.マクロ(VBA)を実行させるVBSファイルとは」で解説したVBSファイルを設定することで決まった時間にマクロを実行させることもできます。

>解説を動画で見る

まずは、Windowsのスタートメニューにて「タスク スケジューラ」と検索し、アプリ「タスク スケジューラ」を開きます。

タスクスケジューラが立ち上がりましたら、「タスクの作成」より作成できます。
ただ、既存のタスクの中に追加で作成したものが混ざってしまうと管理がややこしくなってしまうので、新しいフォルダを用意していきます。
まずは「タスク スケジューラ ライブラリ」を選択します。

中央のモザイクがかかっている場所が「タスク スケジューラ ライブラリ」のフォルダ内にあるタスク一覧になります。
今回は新しいフォルダで作成していくので「新しいフォルダー…」を選択します。
→フォルダ名の入力画面が表示されましたら、好みの名前を設定します。
※こちらでは「TEST」という名前を設定しています。

フォルダ名の設定して「タスク スケジューラ ライブラリ」を展開すると作成したフォルダが見つかります。
作成したフォルダを選択して「タスクの作成」を選択します。

以下の画面が表示されましたら、好みの名前を設定します。
※他の諸々の設定については今回は割愛します。

次に「操作」を設定します。
ここで「新規」を選択し「Excelファイルを開く」という内容を設定します。
※VBSファイルの場合もここで設定します。

以下の画面で対象のファイルを選択し「OK」を選択します。

ExcelVBAレベル確認

以下のように設定できましたら、「トリガー」を設定します。
※トリガーとは操作をするキッカケのようなものになります。

ここで「トリガー」を選択し「新規」を選択します。

ここでどのタイミングで実行するのかを設定します。
こちらでは「1回」のみ実行で指定した日時に実行する設定をしています。
設定できましたら「OK」で保存します。

これで設定が完了です。
後は時間になれば自動的に設定した内容が実行されます。

使い終わったタスクは、必要に応じて編集や削除するといいです。


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


メンバー募集 メンバー募集





リンクの共有はこちらから行えます。

  リンクコピー    X Facebook はてなブックマーク Pocket
トップ > Excel > Excel基礎 > 記事
Excelトップへ
Excel基礎一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

7152246

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール
✨困ったとき✨ Excel
保護解除ツール

【Excel基礎】

【1-入門19】条件付き書式とは?その活用方法

【番外-029】不要な行を瞬時に削除する方法2選

【番外-047】可視セルのみで連番を自動表示

【番外-026】ChatGPTを使って数式作成

【2-数式26】LET関数の使い方と活用例

【番外-017】意外と知られていない小技集15選

【1-入門13】特定のセル以外にロックをかける方法

【1-入門00】Excelの画面構成

【1-入門23】ユーザー設定リストの活用

【番外-032】「文字列の数字」を「数値」に変換

【1-入門18】テーブルの活用方法

【番外-057】○○関数で「セル結合を含まない表」に変換

【3-VBA22】ActiveX「コマンドボタン」の使い方

【1-入門11|ex4】図形のサイズを変更するときのコマンド集

【番外-002】ファイルの埋め込み方法

【番外-004】参照元・参照先のトレースとは

【番外-009】重要ショートカットキー10選 その2

【番外-049】条件付き書式などで「カーソル移動ができない問題」

【1-入門03】数式の基本・相対参照と絶対参照

【番外-054】セル結合された表から数式で値を抽出

【番外-015】VBScript:Excelを開かずにマクロを実行

【2-数式09】スピルの活用方法

【1-入門18|ex1】スライサーの設定方法

【3-VBA19】ByVal・ByRef・なしの違い

【4-Officeスクリプト01】セルの操作方法





一覧ページへ

トップ > Excel > Excel基礎 > 記事
Excelトップへ
Excel基礎一覧へ