タイトル
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