openoffice 4.1.5
windows10
で開発をしております。
VBscriptからcalc内の文字列を置換したいのですが、
SheetオブジェクトからcreateReplaceDiscriptor()の呼び出し時に
「オブジェクトでサポートされていないプロパティまたはメソッドです。」
とエラーが発生します。
ソースコードは下記です。
calcを起動し、特定のセルに「テスト」と文字を格納することは出来ているので、
sheetのオブジェクトは正常に取得出来ていると思うのですが、
先にも書いた通り「ReplaceDiscriptor」の取得が出来ません。
下記の記事が似た事象なのですが原因が違いそうです。
https://forum.openoffice.org/en/forum/v ... 12#p331147
分かる方がいましたらご教授いただければ幸いです。
コード: 全て選択
' param : tgtCalcFile → calcファイルパス
function replaceCalc(tgtCalcFile)
Dim OSM, oDesktop, dummyArray
Set OSM = CreateObject("com.sun.star.ServiceManager")
Set oDesktop = OSM.createInstance("com.sun.star.frame.Desktop")
Dim Result() 'As Object
dummyArray = Result
Dim oCalcDoc, oSheet, oSerch
Set oCalcDoc = oDesktop.loadComponentFromURL("file:///"&tgtCalcFile,"_blank", 0, dummyArray)
Set oSheet = oCalcDoc.getSheets().getByIndex(0)
'デバッグ用:対象のシートに「テスト」と表示される。
oSheet.getCellByPosition(1,1).String = "テスト"
oSerch = oSheet.createReplaceDescriptor() 'ここが動かない。
oSerch.SearchString = "%置換前文字列%"
oSerch.ReplaceString = "置換後文字列"
oSheet.replaceAll(oSerch)
Set OSM = Nothing
end function