どのような簡単なメールが合併し、OpenOffice
-
09-06-2019 - |
質問
い簡単なメールが合併し、OpenOffice C++致VB.Net もしくはC#によOLEまたはネイティブAPIに含まれています。が良い例できますか?
解決
いち解いただき本当に嬉しいでとする際には注
Q.何ション、APIのためのメールが合併?
A. http://api.openoffice.org/docs/common/ref/com/sun/star/text/MailMerge.html
Q.どの支援でしょうか。
A. http://user.services.openoffice.org/en/forum/viewforum.php?f=20
Q.サンプルコードについて教えてください。
A. http://user.services.openoffice.org/en/forum/viewtopic.php?f=20&t=946&p=3778&hilit=mail+merge#p3778
Q.以上する。
A.file:///C:/Program%20Files/OpenOffice.org_2.4_SDK/examples/examples.html (付属のSDK)
Q.方法を構築する。
A.例えば、WriterDemo(C:\Program ファイルを\OpenOffice.org_2.4_SDK\例\CLI\VB.純\WriterDemo)
- 追加参照くはこちらC:\Program Files\OpenOffice.org 2.4\program\組立
- このcli_basetypes,cli_cppuhelper,cli_types,cli_ure
Q.は○○のデータを分離-ドキュメントファイルをメールが合併?
A.することができる範囲のデータソースを含むcsvファイル
Q.は○○できる合併による全ての種類(fax、電子メールに新規ドキュメントのプリンタ)?
A.できる合併による新しいドキュメント、印刷およびメール
Q.ですがカスタム項目の追加?
A.あり
Q.どのような作成する新しいドキュメントにVB.Net?
A.
Dim xContext As XComponentContext xContext = Bootstrap.bootstrap() Dim xFactory As XMultiServiceFactory xFactory = DirectCast(xContext.getServiceManager(), _ XMultiServiceFactory) 'Create the Desktop Dim xDesktop As unoidl.com.sun.star.frame.XDesktop xDesktop = DirectCast(xFactory.createInstance("com.sun.star.frame.Desktop"), _ unoidl.com.sun.star.frame.XDesktop) 'Open a new empty writer document Dim xComponentLoader As unoidl.com.sun.star.frame.XComponentLoader xComponentLoader = DirectCast(xDesktop, unoidl.com.sun.star.frame.XComponentLoader) Dim arProps() As unoidl.com.sun.star.beans.PropertyValue = _ New unoidl.com.sun.star.beans.PropertyValue() {} Dim xComponent As unoidl.com.sun.star.lang.XComponent xComponent = xComponentLoader.loadComponentFromURL( _ "private:factory/swriter", "_blank", 0, arProps) Dim xTextDocument As unoidl.com.sun.star.text.XTextDocument xTextDocument = DirectCast(xComponent, unoidl.com.sun.star.text.XTextDocument)
Q.どうすを保存す。
A.
Dim storer As unoidl.com.sun.star.frame.XStorable = DirectCast(xTextDocument, unoidl.com.sun.star.frame.XStorable) arProps = New unoidl.com.sun.star.beans.PropertyValue() {} storer.storeToURL("file:///C:/Users/me/Desktop/OpenOffice Investigation/saved doc.odt", arProps)
Q.どういただきました。す。
A.
Dim xComponent As unoidl.com.sun.star.lang.XComponent xComponent = xComponentLoader.loadComponentFromURL( _ "file:///C:/Users/me/Desktop/OpenOffice Investigation/saved doc.odt", "_blank", 0, arProps)
Q.いを開始するメールマージVB.Net?
A.
知らない.この機能は、APIリファレンスが欠けているかを記述しています。まわり螺.を想定してAPIの仕事なんだかとってもおいしそうに走るマージはシンプルなものになっている。
にVBScript:
設定objServiceManager=WScript.CreateObject("com.ます。しました。ServiceManager")
"今ッMailMergeの設定から抽出されるdocフレーバ 設定oMailMerge=objServiceManager.createInstance("com.ます。しました。います。MailMerge")
oMailMerge.DocumentURL="file:///C:/Users/me/デスクトップ/OpenOffice調査メールが合併。ぼ" oMailMerge.DataSourceName="追加" oMailMerge.CommandType=0' http://api.openoffice.org/docs/common/ref/com/sun/star/text/MailMerge.html#CommandType oMailMerge.コマンド="追加" oMailMerge.OutputType=2' http://api.openoffice.org/docs/common/ref/com/sun/star/text/MailMerge.html#OutputType oMailMerge.execute(Array())
にVB.Net (オプションの厳しいOff)
Dim t_OOo As Type t_OOo = Type.GetTypeFromProgID("com.sun.star.ServiceManager") Dim objServiceManager As Object objServiceManager = System.Activator.CreateInstance(t_OOo) Dim oMailMerge As Object oMailMerge = t_OOo.InvokeMember("createInstance", _ BindingFlags.InvokeMethod, Nothing, _ objServiceManager, New [Object]() {"com.sun.star.text.MailMerge"}) 'Now set up a new MailMerge using the settings extracted from that doc oMailMerge.DocumentURL = "file:///C:/Users/me/Desktop/OpenOffice Investigation/mail merged.odt" oMailMerge.DataSourceName = "adds" oMailMerge.CommandType = 0 ' http://api.openoffice.org/docs/common/ref/com/sun/star/text/MailMerge.html#CommandType oMailMerge.Command = "adds" oMailMerge.OutputType = 2 ' http://api.openoffice.org/docs/common/ref/com/sun/star/text/MailMerge.html#OutputType oMailMerge.execute(New [Object]() {})
同様のことがオプション品(動作しない)
Dim t_OOo As Type t_OOo = Type.GetTypeFromProgID("com.sun.star.ServiceManager") Dim objServiceManager As Object objServiceManager = System.Activator.CreateInstance(t_OOo) Dim oMailMerge As Object oMailMerge = t_OOo.InvokeMember("createInstance", _ BindingFlags.InvokeMethod, Nothing, _ objServiceManager, New [Object]() {"com.sun.star.text.MailMerge"}) 'Now set up a new MailMerge using the settings extracted from that doc oMailMerge.GetType().InvokeMember("DocumentURL", BindingFlags.SetProperty, Nothing, oMailMerge, New [Object]() {"file:///C:/Users/me/Desktop/OpenOffice Investigation/mail merged.odt"}) oMailMerge.GetType().InvokeMember("DataSourceName", BindingFlags.SetProperty, Nothing, oMailMerge, New [Object]() {"adds"}) oMailMerge.GetType().InvokeMember("CommandType", BindingFlags.SetProperty, Nothing, oMailMerge, New [Object]() {0}) oMailMerge.GetType().InvokeMember("Command", BindingFlags.SetProperty, Nothing, oMailMerge, New [Object]() {"adds"}) oMailMerge.GetType().InvokeMember("OutputType", BindingFlags.SetProperty, Nothing, oMailMerge, New [Object]() {2}) oMailMerge.GetType().InvokeMember("Execute", BindingFlags.InvokeMethod Or BindingFlags.IgnoreReturn, Nothing, oMailMerge, New [Object]() {}) ' this line fails with a type mismatch error
他のヒント
するべき Apache OpenOffice API.プロジェクトの作成APIを開きます。少数言語の言への支援:C++,Java,Python,CLI,StarBasic、JavaScriptやOLE.