** [[OOobbs3/50]] [#cf63172b] -''サマリ'': JavaScript Macroにて、任意の名前を付けて上書き保存する方法について -''環境'': Other -''状態'': 未解決 -''状態'': 解決 -''投稿者'': [[new_OOo3]] -''投稿日'': 2011-03-27 (日) 10:49:22 *** 質問 [#y4c022a8] お世話になります。 JavaScript Macroにおいて、任意の名前を付けて上書き保存する為に下記Codeを試みましたが、保存が出来ません。 つきましては、任意の名前で上書き保存する方法をご教示頂けます様お願いします。 ************ [ Code ] ************* // Base in JavaScript importClass(Packages.javax.swing.JOptionPane); importClass(Packages.com.sun.star.beans.PropertyValue); importClass(Packages.com.sun.star.comp.helper.Bootstrap); importClass(Packages.com.sun.star.comp.helper.BootstrapException); importClass(Packages.com.sun.star.frame.XComponentLoader); importClass(Packages.com.sun.star.lang.XMultiComponentFactory); importClass(Packages.com.sun.star.uno.Exception); importClass(Packages.com.sun.star.uno.UnoRuntime); importClass(Packages.com.sun.star.uno.XComponentContext); // importClass(Packages.com.sun.star.beans.UnknownPropertyException); importClass(Packages.com.sun.star.beans.XPropertySet); importClass(Packages.com.sun.star.lang.WrappedTargetException); importClass(Packages.com.sun.star.sdb.XOfficeDatabaseDocument); importClass(Packages.com.sun.star.sdbc.XDataSource); // importClass(Packages.com.sun.star.frame.XStorable); importClass(Packages.com.sun.star.io.IOException); // try{ xContext = XSCRIPTCONTEXT.getComponentContext(); // xContext = Bootstrap.bootstrap(); //<= OOo3.1.1以前は動作した。 xMultiComponentFactory = xContext.getServiceManager(); xtest = xMultiComponentFactory.createInstanceWithContext("com.sun.star.frame.Desktop", xContext); xcomponentloader = UnoRuntime.queryInterface(XComponentLoader,xtest); // loadURL = "private:factory/sdatabase"; propertyvalue = new Array(); oDoc = xcomponentloader.loadComponentFromURL(loadURL, "_blank", 0, propertyvalue); // xOfficeDatabaseDocument = UnoRuntime.queryInterface(XOfficeDatabaseDocument, oDoc); xDataSource = xOfficeDatabaseDocument.getDataSource(); xPropertySet = UnoRuntime.queryInterface(XPropertySet, xDataSource); xPropertySet.setPropertyValue("URL", "sdbc:embedded:hsqldb"); // oStoreURL = "file:///C:/temp/oBaseMacro3.odb" xStorable = UnoRuntime.queryInterface(XStorable,oDoc); storeProps = new PropertyValue(); storeProps.Name = "Overwrite" storeProps.Value = true xStorable.storeAsURL(oStoreURL,storeProps); // <= 本Lineにて処理がStopします。 // JOptionPane.showMessageDialog(null, "Success"); }catch (e){ if (e instanceof WrappedTargetException) { // getPropertyValue } else if (e instanceof UnknownPropertyException) { // getPropertyValue } else { } } *** 回答 [#pa041502] - xStorable.storeAsURL(oStoreURL,[storeProps]); -- はにゃ? &new{2011-03-27 (日) 17:55:05}; #comment *** 感想,コメント,メモ [#k22e7cf4] - ご指摘通りで動作しました。本当にありがとうございます。 -- new_OOo3 &new{2011-03-27 (日) 18:45:24}; #comment |