tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル エクセルのマクロ起動
投稿日: 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

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。