2010年1月15日 星期五
學習記錄:OpenOffice Basic (7)
REM ***** BASIC *****
Sub Main
rem 本程式整理以下問題
rem 1 開一個新 calc ,然後改名,再save。
rem 2 load 一個 calc 的 template,改名然後 save。
rem ##### 宣告有關變數
Dim Dummy()
Dim Url As String
Dim Doc As Object
rem 1 ##### 開一個新 calc ,然後改名,再save。
sUrl = "private:factory/scalc" '設定新開啟的檔案是「試算表」
Doc = StarDesktop.loadComponentFromURL(sUrl, "_blank", 0, Dummy()) '開啟新檔
sPath01 = "file:///C:/99.ods" '設要要儲存的位置及檔名
oDoc = ThisComponent
oDoc.storeAsURL(sPath01,Array())
rem 補充說明 1
rem
rem StarDesktop.loadComponentFromURL(sUrl, "_blank", 0, Dummy())
rem StarDesktop.loadComponentFromURL(URL, Frame, SearchFlags, FileProperties)
rem StarDesktop.loadComponentFromURL(參數1, 參數2, 參數3, 參數4)
rem
rem 參數1:如上例,是存檔的 path 及 filename 。
rem
rem 參數2:"_blank"開一個可視的window, "_hidden"亦打開一個文件,但畫面不顯示。
rem
rem 參數3:"0" 即 auto,常用。其餘PARENT,SELF,CHILDREN 等罕用8個,可參考以下網址:
rem http://api.openoffice.org/docs/common/ref/com/sun/star/frame/FrameSearchFlag.html
rem
rem 參數4 文件屬性。例如指定開啟 MSWORD 、指定成為唯讀、加入密碼等功能。上例的 Dummy()是指一個空集合。
rem 例子:以下示例顯示如何使用 FilterName 選項開啟在 StarSuite Calc 中以逗號分隔的文字檔案。
rem Dim Doc As Object
rem Dim FileProperties(0) As New com.sun.star.beans.PropertyValue
rem Dim Url As String
rem Url = "file:///C:/csv.doc"
rem FileProperties(0).Name = "FilterName"
rem FileProperties(0).Value ="scalc:Text-txt-csv(StarSuite Calc)"
rem Doc = StarDesktop.loadComponentFromURL(Url, "_blank", 0, FileProperties())
rem
rem
rem FileProperties 資料欄位只包含一個值,因為它記錄的是一個選項。Filtername 特性定義 StarSuite 是否使用 StarSuite Calc 文字篩選開啟檔案。
rem
rem 有需要時可參考以下網址:
rem http://wiki.services.openoffice.org/wiki/ZH/Documentation/BASIC_Guide/StarDesktop
rem http://api.openoffice.org/docs/common/ref/com/sun/star/document/MediaDescriptor.html
rem http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/OfficeDev/Handling_Documents#MediaDescriptor
rem 2 ##### load 一個 calc 的 template,改名然後 save。
sUrl = "file:///C:/Template.ods" '設定新開啟的檔案是「試算表」
Doc = StarDesktop.loadComponentFromURL(sUrl, "_blank", 0, Dummy()) '開啟新檔
sPath = "file:///C:/"
sFileName="MyNameIsNewDocument.ods" '設要要儲存的位置及檔名
oDoc = ThisComponent
oDoc.storeAsURL(sPath & sFileName,Dummy())
rem 補充說明 2
rem
rem oDoc.storeAsURL(sPath & sFileName,Dummy())
rem 基本同上,但還有以下例子
rem
rem If (Doc.isModified) Then
rem If (Doc.hasLocation And (Not Doc.isReadOnly)) Then
rem Doc.store()
rem Else
rem Doc.storeAsURL(URL, Dummy())
rem End If
rem End If
rem
rem 有需要時可參考以下網址:
rem http://api.openoffice.org/docs/common/ref/com/sun/star/frame/XStorable.html
End Sub
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言