<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>VBS | VBA・GAS・Pythonで仕事を楽しく効率化</title>
	<atom:link href="https://officevba.info/tag/vbs/feed/" rel="self" type="application/rss+xml" />
	<link>https://officevba.info</link>
	<description>仕事の役に立つVBA・GAS・Pythonのコードを紹介していきます。</description>
	<lastBuildDate>Sun, 15 Sep 2024 04:50:33 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>

<image>
	<url>https://officevba.info/wp-content/uploads/2017/04/cropped-Excel_1-32x32.jpg</url>
	<title>VBS | VBA・GAS・Pythonで仕事を楽しく効率化</title>
	<link>https://officevba.info</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>タスクスケジューラを使用してVBA（マクロ）を自動実行する方法</title>
		<link>https://officevba.info/taskscheduler/</link>
					<comments>https://officevba.info/taskscheduler/#respond</comments>
		
		<dc:creator><![CDATA[okumasahito]]></dc:creator>
		<pubDate>Wed, 05 May 2021 10:13:45 +0000</pubDate>
				<category><![CDATA[VBScript]]></category>
		<category><![CDATA[タスクスケジューラ]]></category>
		<category><![CDATA[Batファイル]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[VBS]]></category>
		<category><![CDATA[自動実行]]></category>
		<guid isPermaLink="false">https://officevba.info/?p=2229</guid>

					<description><![CDATA[目次 決まった時間に実行することが決まっているVBAの完全自動化を目指すタスクスケジューラについてタスクスケジューラでVBAを実行する手順の概要タスクスケジューラでVBAを実行する手順タスクスケジューラでVBAを実行する [&#8230;]]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">決まった時間に実行することが決まっているVBAの完全自動化を目指す</a></li><li><a href="#toc2" tabindex="0">タスクスケジューラについて</a></li><li><a href="#toc3" tabindex="0">タスクスケジューラでVBAを実行する手順の概要</a></li><li><a href="#toc4" tabindex="0">タスクスケジューラでVBAを実行する手順</a></li><li><a href="#toc5" tabindex="0">タスクスケジューラでVBAを実行する設定方法</a><ol><li><a href="#toc6" tabindex="0">1.VBSファイルの作成</a></li><li><a href="#toc7" tabindex="0">2.タスクスケジューラの設定</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">決まった時間に実行することが決まっているVBAの完全自動化を目指す</span></h2>
<p>今回はタスクスケジューラを用いて定期的にVBAを自動実行する方法についてご紹介します。</p>
<p>最初だけ設定・準備が少し面倒ですが、これを設定しておくことで面倒な操作を完全自動化することができるようになります。</p>
<p>ダブルクリックだけでVBAは実行できるので特に時短にならないのでは？と思う方もいるかと思いますが、このタスクスケジューラを用いての自動実行については完全自動化による「作業忘れの防止」と「頻回の操作」を目的としています。</p>
<p>例えば私が実際に使っているものとしては「1週間に1回あるサービスの利用状況を集計してメールで報告する」や「同僚のスケジュールを毎日全員に送信する」というような処理が完全に自動化されます。</p>
<p>処理にかかる時間がVBAを手動で実行したとして1週間に1回10分・毎日1回5分であったとしても、他にやらなければならないことがあったりするとつい忘れることもあると思います。</p>
<p>またこの小さな作業が積み重なるとそこそこ時間がとられることになります。<br />
完全自動化することにより、まず作業忘れを完全になくすことが可能です。</p>
<p>さらに作業時間が0なので「毎日1時間おきに作業する」や、「1か月のうち1日だけの作業」などもあらかじめ登録しておけば手間も負担も全くありません。<br />
以上のことから手作業でVBAを実行する自動化のレベルとは明らかに1ランク上の自動化が可能になります。</p>
<h2><span id="toc2">タスクスケジューラについて</span></h2>
<p>タスクスケジューラはWindowsに標準の機能で、実行するための条件（トリガー）と実行内容（操作）を設定しておくことで、条件を満たした場合に特定の操作を行うことが可能です。</p>
<p>主にアプリケーションのアップデートの確認などに使用することが多いようですが、我々もこの機能を活用して自動処理の仕組みを作ることが可能です。</p>
<p>実行内容はBatファイルを開くという操作を指定しておくのが最も手間がかからないらしく、VBAを実行するためにはBatファイルとVBSファイルを用意して順に実行するというフローを使うことが多いようです。（詳細の手順は後で示します。）</p>
<h2><span id="toc3">タスクスケジューラでVBAを実行する手順の概要</span></h2>
<p>タスクスケジューラでVBAを実行する方法としては①VBSファイルのみを使用する方法と②VBSファイルとBatファイルを使用する方法の2通りがあります。</p>
<p>私は汎用性と利便性を考慮して①VBSファイルのみを使用する方法をよく使っていますのでこちらを紹介します。</p>
<h2><span id="toc4">タスクスケジューラでVBAを実行する手順</span></h2>
<li>〇準備</li>
<p>(1)実行したいVBAコードを記載したファイル</p>
<p>(2)VBAを実行するためのVBSファイル</p>
<p>(3)VBAを描いたファイル・VBSファイルを同じフォルダに格納する</p>
<li>〇手順</li>
<p>①タスクスケジューラでVBSファイルを起動</p>
<p>②VBSファイルでVBAを実行する</p>
<p>タスクスケジューラでVBSファイルを起動→VBSでVBAが実行されるというフローになります。</p>
<p><a href="https://officevba.info/vbsvbastart/" target="_blank">前回VBSを用いてVBAをダブルクリックで実行する方法</a>をご紹介しましたが、VBSを用いてダブルクリックする方法は単体ではそこまで便利ではなく、今回ご紹介するタスクスケジューラを用いた自動実行と組み合わせて初めて本領を発揮します。</p>
<h2><span id="toc5">タスクスケジューラでVBAを実行する設定方法</span></h2>
<h3><span id="toc6">1.VBSファイルの作成</span></h3>
<p>先ほど概要をご説明した通り、VBAのコードを書いたファイルのほか、VBSファイルを作成してVBS起動→VBA実行のフローを構築します。</p>
<p>また、VBSの中でこの格納したフォルダのパスを取得しておくことで使いまわす際に便利なようにしています。</p>
<p>VBSファイルはテキストエディタなどでコードを書いた後、拡張子をそれぞれ「.vbs」に変更すればOKです。<br />
今回例として下記の2つのファイルを作成して、デスクトップの「タスクスケジューラ」というフォルダに格納しています。</p>
<p><a href="https://officevba.info/wp-content/uploads/2024/09/vba155-1_2.jpg"><img fetchpriority="high" decoding="async" src="https://officevba.info/wp-content/uploads/2024/09/vba155-1_2-700x140.jpg" alt="" width="700" height="140" class="alignnone size-large wp-image-2526" srcset="https://officevba.info/wp-content/uploads/2024/09/vba155-1_2-700x140.jpg 700w, https://officevba.info/wp-content/uploads/2024/09/vba155-1_2-300x60.jpg 300w, https://officevba.info/wp-content/uploads/2024/09/vba155-1_2-768x154.jpg 768w, https://officevba.info/wp-content/uploads/2024/09/vba155-1_2.jpg 1017w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<li>〇VBSファイル（ファイル名：01_タスクスケジューラでVBA実行.vbs）</li>
<div class="VBACode">
<pre>
Dim ExApp:Set ExApp = CreateObject("Excel.Application")
Dim FSO:Set FSO = CreateObject("Scripting.FileSystemObject")
Dim WSH:Set WSH = CreateObject("Wscript.Shell")
'格納されているフォルダのパスを取得(ExcelVBAで言うところのThisWorkbook.Pathみたいなもの)
Dim objPath:objPath = FSO.GetParentFolderName(WScript.ScriptFullName)

ExApp.visible = true
WScript.Sleep 3000

'ファイル開く
ExApp.Workbooks.open objPath &#038; "\" &#038; "02_タスクスケジューラでVBA実行.xlsm"

'マクロ実行
ExApp.Application.Run "メッセージ表示"

'ファイルを閉じる
WScript.Sleep 3000
ExApp.Quit

set ExApp = Nothing
set objPath = Nothing
set WSH = Nothing
set FSO = Nothing
</pre>
</div>
<li>〇VBA（ファイル名：02_タスクスケジューラでVBA実行.xlsm）</li>
<div class="VBACode">
<pre>
Sub メッセージ表示()
    MsgBox "実行しました"
End Sub
</pre>
</div>
<p>VBSファイルをダブルクリックした場合にExcelファイルが起動し、マクロが実行できればOKです。</p>
<p>今回の場合メッセージボックスが表示されるのでOKをクリックすると作業が次に進み、ファイルが閉じる仕様となります。</p>
<h3><span id="toc7">2.タスクスケジューラの設定</span></h3>
<p>上記3つのファイルが作成できて、手動できちんと動作することが確認できたらタスクスケジューラでBatファイルを起動する準備をしていきます。</p>
<li>①「Windowsマーク」→「Windows管理ツール」→「タスクスケジューラ」を選択します。</li>
<p><a href="https://officevba.info/wp-content/uploads/2021/05/vba155-2.jpg"><img decoding="async" src="https://officevba.info/wp-content/uploads/2021/05/vba155-2.jpg" alt="vba155-2" width="403" height="818" class="alignnone size-full wp-image-2234" srcset="https://officevba.info/wp-content/uploads/2021/05/vba155-2.jpg 403w, https://officevba.info/wp-content/uploads/2021/05/vba155-2-148x300.jpg 148w" sizes="(max-width: 403px) 100vw, 403px" /></a></p>
<li>②起動したタスクスケジューラの画面で「タスクの作成」をクリックします。</li>
<p><a href="https://officevba.info/wp-content/uploads/2021/05/vba155-3.jpg"><img decoding="async" src="https://officevba.info/wp-content/uploads/2021/05/vba155-3-700x383.jpg" alt="vba155-3" width="700" height="383" class="alignnone size-large wp-image-2235" srcset="https://officevba.info/wp-content/uploads/2021/05/vba155-3-700x383.jpg 700w, https://officevba.info/wp-content/uploads/2021/05/vba155-3-300x164.jpg 300w, https://officevba.info/wp-content/uploads/2021/05/vba155-3-768x420.jpg 768w, https://officevba.info/wp-content/uploads/2021/05/vba155-3-1536x839.jpg 1536w, https://officevba.info/wp-content/uploads/2021/05/vba155-3-2048x1119.jpg 2048w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<li>③全般タブでタスクの名前を入力します。（名前は自分で覚えやすい名前でOK）</li>
<p><a href="https://officevba.info/wp-content/uploads/2021/05/vba155-4.jpg"><img loading="lazy" decoding="async" src="https://officevba.info/wp-content/uploads/2021/05/vba155-4.jpg" alt="vba155-4" width="677" height="487" class="alignnone size-full wp-image-2236" srcset="https://officevba.info/wp-content/uploads/2021/05/vba155-4.jpg 677w, https://officevba.info/wp-content/uploads/2021/05/vba155-4-300x216.jpg 300w" sizes="(max-width: 677px) 100vw, 677px" /></a> <a href="https://officevba.info/wp-content/uploads/2021/05/vba155-5.jpg"><img loading="lazy" decoding="async" src="https://officevba.info/wp-content/uploads/2021/05/vba155-5.jpg" alt="vba155-5" width="672" height="480" class="alignnone size-full wp-image-2237" srcset="https://officevba.info/wp-content/uploads/2021/05/vba155-5.jpg 672w, https://officevba.info/wp-content/uploads/2021/05/vba155-5-300x214.jpg 300w" sizes="(max-width: 672px) 100vw, 672px" /></a></p>
<li>④「トリガータブ」で「新規タブ」をクリックして起動の条件を設定します。</li>
<p>今回は1時間に1回毎日実行するように設定してみます。<br />
設定項目の左側を毎日に指定、詳細設定の繰り返し間隔を1時間に設定してOKをクリックします。</p>
<p><a href="https://officevba.info/wp-content/uploads/2021/05/vba155-6.jpg"><img loading="lazy" decoding="async" src="https://officevba.info/wp-content/uploads/2021/05/vba155-6.jpg" alt="vba155-6" width="675" height="483" class="alignnone size-full wp-image-2238" srcset="https://officevba.info/wp-content/uploads/2021/05/vba155-6.jpg 675w, https://officevba.info/wp-content/uploads/2021/05/vba155-6-300x215.jpg 300w" sizes="(max-width: 675px) 100vw, 675px" /></a> <a href="https://officevba.info/wp-content/uploads/2021/05/vba155-7.jpg"><img loading="lazy" decoding="async" src="https://officevba.info/wp-content/uploads/2021/05/vba155-7-700x593.jpg" alt="vba155-7" width="700" height="593" class="alignnone size-large wp-image-2239" srcset="https://officevba.info/wp-content/uploads/2021/05/vba155-7-700x593.jpg 700w, https://officevba.info/wp-content/uploads/2021/05/vba155-7-300x254.jpg 300w, https://officevba.info/wp-content/uploads/2021/05/vba155-7.jpg 754w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<li>⑤前の画面に戻るので「操作タブ」で「新規」をクリックして起動するプログラムを選択します。</li>
<p>プログラム/スクリプトの欄に作成したVBSファイルのフルパスを入力します。<br />
「参照」ボタンをクリックしてファイルを選択すれば入力されます。</p>
<p>また、開始（オプション）に格納されているフォルダのパスを入力します。<br />
詳しくは私も把握していませんが、これを忘れると起動しないので、忘れずに入力するようにしましょう。</p>
<p><a href="https://officevba.info/wp-content/uploads/2021/05/vba155-8.jpg"><img loading="lazy" decoding="async" src="https://officevba.info/wp-content/uploads/2021/05/vba155-8.jpg" alt="vba155-8" width="673" height="483" class="alignnone size-full wp-image-2240" srcset="https://officevba.info/wp-content/uploads/2021/05/vba155-8.jpg 673w, https://officevba.info/wp-content/uploads/2021/05/vba155-8-300x215.jpg 300w" sizes="(max-width: 673px) 100vw, 673px" /></a> <a href="https://officevba.info/wp-content/uploads/2021/05/vba155-9.jpg"><img loading="lazy" decoding="async" src="https://officevba.info/wp-content/uploads/2021/05/vba155-9.jpg" alt="vba155-9" width="565" height="620" class="alignnone size-full wp-image-2241" srcset="https://officevba.info/wp-content/uploads/2021/05/vba155-9.jpg 565w, https://officevba.info/wp-content/uploads/2021/05/vba155-9-273x300.jpg 273w" sizes="(max-width: 565px) 100vw, 565px" /></a></p>
<li>⑥元の画面に戻るので「OK」をクリックします。</li>
<p><a href="https://officevba.info/wp-content/uploads/2021/05/vba155-10.jpg"><img loading="lazy" decoding="async" src="https://officevba.info/wp-content/uploads/2021/05/vba155-10.jpg" alt="vba155-10" width="675" height="484" class="alignnone size-full wp-image-2242" srcset="https://officevba.info/wp-content/uploads/2021/05/vba155-10.jpg 675w, https://officevba.info/wp-content/uploads/2021/05/vba155-10-300x215.jpg 300w" sizes="(max-width: 675px) 100vw, 675px" /></a></p>
<li>⑦タスクスケジューラの一覧に作成したタスクが表示されます。</li>
<p>右の実行ボタンをクリックしてきちんと起動すれば決まったタイミングから自動実行が開始されます。</p>
<p><a href="https://officevba.info/wp-content/uploads/2021/05/vba155-11-2.jpg"><img loading="lazy" decoding="async" src="https://officevba.info/wp-content/uploads/2021/05/vba155-11-2-700x394.jpg" alt="vba155-11-2" width="700" height="394" class="alignnone size-large wp-image-2246" srcset="https://officevba.info/wp-content/uploads/2021/05/vba155-11-2-700x394.jpg 700w, https://officevba.info/wp-content/uploads/2021/05/vba155-11-2-300x169.jpg 300w, https://officevba.info/wp-content/uploads/2021/05/vba155-11-2-768x432.jpg 768w, https://officevba.info/wp-content/uploads/2021/05/vba155-11-2-1536x864.jpg 1536w, https://officevba.info/wp-content/uploads/2021/05/vba155-11-2-2048x1152.jpg 2048w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<p>これらのファイルは一回作っておくとあとはコピペをベースに少し設定を変更すればすぐに使えるようになるので、慣れてくると簡単に作れるようになります。</p>
<p>最初の設定だけ少し面倒ですが、そのあと勝手に仕事が進むので私はかなり重宝しています。<br />
また便利な使い方など思いついたらアップするようにします。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://officevba.info/taskscheduler/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>VBSを使ってマクロ（VBA）をダブルクリックで実行</title>
		<link>https://officevba.info/vbsvbastart/</link>
					<comments>https://officevba.info/vbsvbastart/#respond</comments>
		
		<dc:creator><![CDATA[okumasahito]]></dc:creator>
		<pubDate>Sun, 18 Apr 2021 07:18:44 +0000</pubDate>
				<category><![CDATA[VBA共通]]></category>
		<category><![CDATA[VBScript]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[VBS]]></category>
		<category><![CDATA[実行]]></category>
		<guid isPermaLink="false">https://officevba.info/?p=2212</guid>

					<description><![CDATA[目次 マクロを実行するのが面倒な場合があるマクロ（VBA）をボタン一つで実行する方法についてExcelのマクロ（VBA）を実行するサンプルコードAccessのマクロ（VBA）を実行するサンプルコード マクロを実行するのが [&#8230;]]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">マクロを実行するのが面倒な場合がある</a></li><li><a href="#toc2" tabindex="0">マクロ（VBA）をボタン一つで実行する方法について</a></li><li><a href="#toc3" tabindex="0">Excelのマクロ（VBA）を実行するサンプルコード</a></li><li><a href="#toc4" tabindex="0">Accessのマクロ（VBA）を実行するサンプルコード</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">マクロを実行するのが面倒な場合がある</span></h2>
<p>ショートカットやボタンで実行できるように設定していたとしても、毎回ファイルを開いてマクロを実行するのが面倒に感じることがあります。</p>
<p>一日に何回も実行する必要がある場合、特に面倒に感じるのですが、イベントプロシージャのようにファイルを開くたびに毎回勝手に実行されるのも困るし…と悩んでいたところVBS（VBScript）を使う便利な方法がありましたのでご紹介します。</p>
<p>この方法を使えば作成したVBSファイルをダブルクリックするだけでマクロを実行できるようになります。</p>
<p>またこの方法を少し応用すれば「1日1回朝8時」や、「平日1時間おきに実行」などパソコンに登録したタイミングで自動実行することができるようになります。<br />
まず今回はダブルクリックでファイルを開いて実行する処理ができるVBSファイルの作成方法についてご紹介します。</p>
<h2><span id="toc2">マクロ（VBA）をボタン一つで実行する方法について</span></h2>
<p>VBAを実行するためにVBSファイルというものを作成します。<br />
VBSファイルはマクロ（VBA）を実行するためのコードを記入したもので、テキストで簡単に作成できます。</p>
<p>VBSの基本的な文法はVBAとほぼ同じですし、マクロ（VBA）を実行するためのコードはすごく簡単なので、少しVBAを触っている人なら手間取らずに作成できると思います。</p>
<p>コードを書いた後のテキストファイルは保存後に拡張子を「.txt」から「.vbs」に変更することで、VBSファイルとしてパソコンからプログラムを実行することができるようになります。</p>
<p><a href="https://officevba.info/wp-content/uploads/2021/04/eb10f35216006f89ff563d389525bd51.jpg"><img loading="lazy" decoding="async" src="https://officevba.info/wp-content/uploads/2021/04/eb10f35216006f89ff563d389525bd51.jpg" alt="vba154_拡張子変更" width="221" height="142" class="alignnone size-full wp-image-2226" /></a></p>
<p>拡張子が表示されていない方はどこかのフォルダを開いた際の表示タブの中にある「表示/非表示」項目の中の「ファイル名拡張子」にチェックを入れましょう。</p>
<p><a href="https://officevba.info/wp-content/uploads/2021/04/1a1e722db7dc78a78fd1e2131064d673.jpg"><img loading="lazy" decoding="async" src="https://officevba.info/wp-content/uploads/2021/04/1a1e722db7dc78a78fd1e2131064d673-300x85.jpg" alt="vba154_ファイル名拡張子" width="300" height="85" class="alignnone size-medium wp-image-2225" srcset="https://officevba.info/wp-content/uploads/2021/04/1a1e722db7dc78a78fd1e2131064d673-300x85.jpg 300w, https://officevba.info/wp-content/uploads/2021/04/1a1e722db7dc78a78fd1e2131064d673-700x199.jpg 700w, https://officevba.info/wp-content/uploads/2021/04/1a1e722db7dc78a78fd1e2131064d673-768x219.jpg 768w, https://officevba.info/wp-content/uploads/2021/04/1a1e722db7dc78a78fd1e2131064d673.jpg 1536w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h2><span id="toc3">Excelのマクロ（VBA）を実行するサンプルコード</span></h2>
<p>Excelのマクロ（VBA）を実行するサンプルコードは下記の通りです。<br />
下記は同じフォルダの中の「ファイル1.xlsm」ファイルの「マクロ1」というプロシージャ名のマクロを実行します。</p>
<div class="VBACode">
<pre>
Dim ExApp:Set ExApp = CreateObject("Excel.Application")
Dim FSO:Set FSO = CreateObject("Scripting.FileSystemObject")
Dim WSH:Set WSH = CreateObject("Wscript.Shell")
'格納されているフォルダのパスを取得(ExcelVBAで言うところのThisWorkbook.Pathみたいなもの)
Dim objPath:objPath = FSO.GetParentFolderName(WScript.ScriptFullName)

ExApp.visible = true
WScript.Sleep 3000

'ファイル開く
ExApp.Workbooks.open objPath &#038; "\" &#038; "ファイル1.xlsm"

'マクロ実行
ExApp.Application.Run "メッセージ表示"

'ファイルを閉じる
WScript.Sleep 3000
ExApp.Quit

set ExApp = Nothing
set objPath = Nothing
set WSH = Nothing
set FSO = Nothing
</pre>
</div>
<p>VBSファイルはプロシージャ名などを書いたり、Sub～End Subなどの記述は必要なく、書いたものを即座に実行してくれます。</p>
<p>ExcelVBAからほかのOfficeソフト（AccessとかOutlookなど）を呼び出すときと同じく、まずはExcelを呼び出す設定をします。<br />
Excelをオブジェクト型の変数に格納したあと、対象のファイル名とマクロ名（プロシージャ名）を指定することで実行できるようになります。</p>
<p>ファイルを開いたり、マクロを実行したりする間には少し余裕を持って待機時間を設定しています。<br />
最後に対象のファイルを閉じるように設定しておくとダブルクリックするだけで処理が完結します。</p>
<p>マクロを実行したExcelファイルそのものを使用したり確認したりする場合、最後の閉じる操作は不要ですので削除してください。<br />
（VBAと同じくアポストロフィ「’」でコメントアウトも可能です。）</p>
<p>WSHを用いてデスクトップなどの特殊フォルダを取得したり、FSOでVBSの格納フォルダを指定してから相対パスなどを使って対象ファイルを指定することも可能ですが、別記事でお伝えする定期実行などをする際にうまく働かないことがあるようです。</p>
<p>ですので個人的にはフルパスで対象ファイルを指定することがおすすめです。</p>
<h2><span id="toc4">Accessのマクロ（VBA）を実行するサンプルコード</span></h2>
<p>基本的にAccessについてもExcelとほぼ同じコードになります。<br />
以下は同じフォルダの中の「データベース.accdb」ファイルの「マクロ1」というプロシージャ名のマクロを実行します。</p>
<div class="VBACode">
<pre>
Dim AcApp:Set AcApp = CreateObject("Access.Application")
Dim FSO:Set FSO = CreateObject("Scripting.FileSystemObject")
Dim WSH:Set WSH = CreateObject("Wscript.Shell")
'格納されているフォルダのパスを取得(AccessVBAで言うところのApplication.CurrentProject.Pathみたいなもの)
Dim objPath:objPath = FSO.GetParentFolderName(WScript.ScriptFullName)

AcApp.visible = true
WScript.Sleep 3000
'ファイル開く
AcApp.OpenCurrentDatabase objPath &#038; "\" &#038; "データベース.accdb"

'マクロ実行
AcApp.Application.Run "マクロ1"

'ファイルを閉じる
WScript.Sleep 3000
AcApp.Quit

set AcApp = Nothing
set objPath = Nothing
set WSH = Nothing
set FSO = Nothing
</pre>
</div>
<p>これらは手作業でマクロを何度も実行する際に役立ちます。<br />
より自動化の幅を増やせるようにするため、次は<a href="https://officevba.info/taskscheduler/" target="_blank">こちら</a>でマクロの定期実行の方法をご紹介します。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://officevba.info/vbsvbastart/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
