OOobbs3/56
質問
初めまして。よろしくお願いします。 マクロによって新たに作成されたドキュメントに、自動的にマクロを持たせることは可能でしょうか。 例としてa.odsのマクロでb.odsという新たなドキュメントを作成し そのb.odsが既にマクロを持っている状態にできるのでしょうか? ということです。 以上、宜しくお願い致します。 回答
Sub Cdre aArg = CreateUnoStruct("com.sun.star.beans.PropertyValue") aArg.Name = "MacroExecutionMode" aArg.Value = com.sun.star.document.MacroExecMode.ALWAYS_EXECUTE oDoc = StarDesktop().loadComponentFromURL("private:factory/scalc", "_blank", 0, Array(aArg)) SaveToModule(oDoc, "NewLib", "Module1", "Sub hello" & chr(10) & " msgbox ""hello""" & chr(10) & "End Sub") End Sub Sub SaveToModule(oDoc As Object, sLocLibName As String, sLocModule As String, sLocSaveLine As String) Dim oBasicLib As Object, oLib As Object oBasicLib = oDoc.BasicLibraries If NOT oBasicLib.hasByName( sLocLibName ) Then oBasicLib.createLibrary(sLocLibName) End If If NOT oBasicLib.isLibraryPasswordProtected( sLocLibName ) Then If NOT oBasicLib.isLibraryReadOnly( sLocLibName ) Then oLib = oBasicLib.getByName( sLocLibName ) If oLib.hasByName( sLocModule ) Then oLib.removeByName( sLocModule ) oLib.insertByName( sLocModule, sLocSaveLine ) Else oLib.insertByName( sLocModule, sLocSaveLine ) End If Else MsgBox "This library is readonly!", 0, "Save Error" End If Else MsgBox "This library is password prtected!", 0, "Save Error" End If End Sub
感想,コメント,メモ
|