VB6からOpenOffice Calcでプリンターを選択するには?

解決


ゆうちん  2010-01-30 00:40:00  No: 143165  IP: [192.*.*.*]

VB6からOpenOffice Calcで  以下のようなソースで
印刷をしようとしていますが
プリンターの選択ができず  
通常使うプリンターに出力されてしまいます。


    Dim args1(0)
    Set args1(0) = objServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
    args1(0).Name = "Printer"
    args1(0).Value = "レーザー"
    CallByName objDocument, "print", VbMethod, args1()

    args1(0).Name = "Printer"  →  "Name"
    ・・にしてみましたかダメでした。

編集    削除
ゆうちん  2010-02-04 01:41:38  No: 143166  IP: [192.*.*.*]

下記のようなソースで解決しました。

    Dim dispatcher As Object
    Set dispatcher = ServiceManager.CreateInstance("com.sun.star.frame.DispatchHelper")

    Dim args1(0)
    
    Set args1(0) = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
    args1(0).Name = "Printer"
    args1(0).Value = "レーザー"
    
    Call dispatcher.executeDispatch(Document.CurrentController.Frame, ".uno:Printer", "", 0, args1())

編集    削除