0 返信 最新の回答 日時: Sep 5, 2013 2:16 AM ユーザー:ぺっとり

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

    ぺっとり

      タイトル

      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