AnsweredAssumed Answered

ActiveX使用のVBプログラムでファイルオープン時にエラーが発...

Question asked by ぺっとり on Sep 5, 2013

タイトル

ActiveX使用のVBプログラムでファイルオープン時にエラーが発生する場合がある

フォーラムに投稿

     VisualBasic6にて、ファイルメーカーVer9のファイルをアクセスし処理するようしていました。

     これをファイルメーカーVer12(12.0 V4)で同様に動作させようと思ったのですが、

     Ver12の場合はFMPro70Lib.ApplicationオブジェクトのVisibleプロパティをFalseにすると

     ファイルOpen時にエラーが発生してしまいます。

     ('Open'メソッドは失敗しました:'IFMIDocuments'オブジェクト)

     VisibleプロパティがTrueであればエラーは発生せずにファイルはOpenできます。

     ver9の時はVisibleプロパティがFalseでもエラー無く動作したのですが何が悪いのでしょう?

     Ver12の下記URLを見ても以前のバージョンと特に変更点はないように思われます。

http://www.filemaker.com/12help/jp/html/create_script.13.11.html#851752

      

     ※以下は動作確認用として作成したコードです。

     Private Sub Command1_Click()

         Dim FMApp As FMPro70Lib.Application
         Dim FMDocs As FMPro70Lib.Documents
        
         Set FMApp = CreateObject("FMPRO.Application")
         Set FMDocs = FMApp.Documents
        
         FMApp.Visible = True    'Trueの場合、エラーは発生せず一通り動作する
         '↑↑↑Falseとした場合、ファイルオープン時にエラーが発生する↑↑↑
         Dim myOpenFile As FMPro70Lib.Document
        
         Set myOpenFile = FMDocs.Open("c:\myfile.fmp12", "admin", "")    '★FMApp.Visible = Flaseの場合はエラーとなる
         myOpenFile.DoFMScript "MyScript"
        
         Dim tmpDocument As FMPro70Lib.Document
         If FMDocs.Count > 0 Then
             For Each tmpDocument In FMDocs
                 tmpDocument.Close
                 Set tmpDocument = Nothing
             Next
         End If
        
         Set FMDocs = Nothing
         Set myOpenFile = Nothing
        
         FMApp.Quit
         Set FMApp = Nothing

     End Sub

Outcomes