サンプルファイルをダウンロード出来ます。
手順
注意・・・・ここで使用するファイルは、「請求書.xls」と「book1.xls」を使用します。
「book1.xls」から、「請求書.xls」の有無を調べます。
この場合、2つのファイルを同じフォルダに保存することを前提にしています。
1、現在開いているブック(book1.xls)のパスを調べます。・・>ActiveWorkbook.Path
パス名を変数mypathに格納します。
2、 ブックの有無を調べる。
請求書.xlsのブックが存在するかどうかを、「Dir」関数を使って調べます。
その結果を変数mymsgに格納します。
3、ブックの有無に応じて処理を振り分ける。
ブックが、存在しない場合、その旨のメッセージを表示し存在する場合は、その絶対パスを表示します。
Sub パス表示() | |
Sub パス表示() Dim mypath As String mypath = ActiveWorkbook.Path MsgBox mypath End Sub |
変数 「mypath」を文字列(string)で宣言します。 開いている(アクティブ)ブックのパスを取得し、「mypath」に格納します。 メッセージボックスにパスを表示します。 ※ActiveWorkbookの代わりにThisWorkbook プロパティを使うと、実行されているコードのあるブックが返されます。 |
Subブックの有無() | |
Sub ブックの有無() Dim mypath As String Dim mymsg As String mypath = ActiveWorkbook.Path mymsg = Dir(mypath & "\請求書.xls") If mymsg = "" Then MsgBox "指定のブックはありません" Else MsgBox mypath & "\" & mymsg End If End Sub |
変数mypathを宣言します。 変数mymsgを宣言します。 ActiveWorkbookで、現在開いているブックの Pathプロパティで、絶対パスを調べます。 Dir関数で、指定したブックがあるかをチェックし、存在しない場合は、 存在すれば メッセージボックスに絶対パスを表示します。 <絶対パスの例> C:\Document & Setting\デスクトップ\請求書.xls |
構文 ActiveWorkbook.Path 開いてているブックのパス名を取得します Dir(ファイル名,属性) ファイル名:ファイル名を表す文字列を指定します。ドライブ名やフォルダ名を指定できます。 属性:ファイルの属性を指定します。 (属性とは、例えば「隠し・書込み禁止・読み取り専用」などがあります。) ※ファイル名・属性、いずれも省略可能です。 ※ブックがない場合は、長さ0の文字列「""]」を返します。 |
Sub ブックを開く() | |
Sub ブックを開く() Dim mybook As String mybook = ThisWorkbook.Path & "\" & "請求書.xls" If Dir(mybook) = "" Then MsgBox "請求書.xls がありません" Exit Sub End If Workbooks.Open mybook End Sub |
変数「mybook」を宣言します。 アクティブブックのパスを取得し、そのパス+「見積書.xls」を変数「mybook」に代入します。 If もし変数「mybook」が、空白だったら、メッセージボックスを表示します。 それ以外だったら、Openメゾットを使用して、変数「mybook」の格納されたファイルを開きます。 |
Exit Subステートメント Exit Subは、プロシージャを強制終了するためのステートメントです。 |