タイトル | : エクセルのマクロ起動 |
記事No | : 15435 |
投稿日 | : 2012/02/17(Fri) 05:33 |
投稿者 | : てらぞう |
セクセルのマクロを起動したいのですが、 ファイルが既に開かれている状態で以下を実行した時に エクセルから表示されるメッセージボックスがエクセルの シートの下に表示されてしまいます。 どの様に処理すればよいでしょうか?
Option Explicit Sub Main() On Error GoTo dbg: Dim tag_f As String Dim xlApp Dim xlBook tag_f = "c:\test.xls" ' Excelのインスタンス作成 Set xlApp = CreateObject("Excel.Application") If xls_fchk(tag_f) = False Then 'エクセルファイルが使われているか ' Excelの表示有無 xlApp.Visible = True ' マクロの警告やメッセージを表示しないように設定 xlApp.DisplayAlerts = False End If Set xlBook = xlApp.Workbooks.open(tag_f) xlApp.run ("test") ' Excelの終了 'xlApp.Quit Set xlBook = Nothing Set xlApp = Nothing Exit Sub dbg: MsgBox Err.Description End Sub
'指定のファイルが使用中かどうかを調べる Function xls_fchk(myFilename As String) On Error Resume Next 'Dim myFilename As String Dim myfile As String 'エラーのトラップを留保します。 'myFilename = "C:\Temp.xls" 'ファイルが存在するか調べる myfile = Dir$(myFilename) If Len(myfile) = 0 Then MsgBox "そのファイルは存在しません。" Else 'ファイルがあればファイルの名前を同じ名前で変更します。 Name myFilename As myFilename 'ファイルが使用中であればエラーが発生します If Err.Number Then xls_fchk = True 'MsgBox "ファイルは使用中です。" 'エラーが発生した場合は Err オブジェクトをクリアします。 Err.Clear Else xls_fchk = False 'MsgBox "ファイルは使われていません。" End If End If End Function
|