ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.003

既存のメモ帳を開く 《Shell》

2003/2007/2010/2013

Accessをやっていて、いつも使っているメモを手軽に見ながら作業したいというようなことがありました。
いつものメモはフォームで作成設定する方法と、本当のメモ帳を開くケースと2つあります。
前者は、ヘルプ「フォーム・レポートを別ウィンドウ(ポップアップ)で開くには」を参考にしてください。
今回は後者、本当のメモ帳を開いてみます。

これはVBAで書きます。

まず、Accessから新規のメモ帳を開くには、例えば次の記述が簡単です。

  Shell "notepad.exe", 1

Shell関数を使いました。
既存のメモ帳を開く場合は

  Shell "notepad.exe D:¥test¥memo.txt", vbNormalFocus

と、開くファイルのパスを続けます。

最後の「1」と「vbNormalFocus」は同じことで、開く状態を示します。
詳しくは、下記ヘルプmemoをご参照ください。

ヘルプmemo

<Shell関数>
実行可能プログラムを実行し、成功した場合はプログラムのタスク ID を示す Variant (Double) を返し、それ以外の場合は 0 を返します。
構文: Shell(pathname[,windowstyle])
引数:
 pathname …実行するプログラムの名を指定
 windowstyle …実行時のウィンドウ形式を指定[省略可]
   値 / 定数
   0 / vbHide
     …フォーカスを持ち、非表示にされるウィンドウ
   1 / vbNormalFocus
     …フォーカスを持ち、元のサイズと位置に表示されるウィンドウ
   2 / vbMinimizedFocus(規定)
     …フォーカスを持ち、最小化表示されるウィンドウ
   3 / vbMaximizedFocus
     …フォーカスを持ち、最大化表示されるウィンドウ
   4 / vbNormalNoFocus
     …最後にウィンドウを閉じたときのサイズと位置に復元されるフォーカスを持たないウィンドウ
   6 / vbMinimizedNoFocus
     …最小化表示されるフォーカスを持たないウィンドウ

関連ヘルプ

AccessからExcelを操作する 《CreateObject》
テーブルの複数フィールドのデータ型をまとめて変更する
データベースを開いている状態で自分自身をバックアップする 《FileSystemObject》
twitter hatena line pocket