🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.vbasic
Article #92340

Re: Automatyzacja, drukowanie z Worda i referencje

#92340
From: pxd74
Date: Sun, 23 Oct 2005 14:47
47 lines
2944 bytes
Użytkownik "Piotr Lipski" <piotr.lipski@nie.p0czta.spamuj.b0.onet.w.ryj.pl>
napisał w wiadomości news:djg61g$i5s$1@news.onet.pl...

> Heh, wszystko pięknie, tylko że pisanie makr VBA to jest to czego chcę
> tutaj uniknąć - nie wiem (i nie chcę wiedzieć) jak poziom zabezpieczeń
> jest ustawiony u docelowego usera, jakie dokumenty będzie drukował i jakie
> makra ma w szablonach startowych poustawiane. Metodę PrintOut obiektu
> ActiveDocument mogę równie dobrze zawołać z .NET-a (co zresztą czynię).
>
> Przeczuwam, że sprawa jest trywialna. Trzeba JAKOŚ przekazać systemowi
> operacyjnemu, że chce się wydrukować dokument, a system to już "sam"
> zrobi. Analogicznie do tego, co dzieje się po kliknięciu prawomyszem opcji
> "Print" na ikonie dokumentu w Exploratorze. Otwiera się Word, drukuje
> dokument i się zamyka - skąd on "wie", że miał wydrukować? Jakoś mu system
> "powiedział". A ja bym chciał to samo tylko z commandline-a.

Nie znam się w ogole na języku Net, ale w VB6 dołaczyłbym bibliotekę
"Microsoft Shell Controls and Automation" i zastosował taką procedurę:

Private Sub DrukujPlikWorda()
    Dim objShell   As Shell
    Dim objFolder2 As Folder2
    Dim ssfWINDOWS As Long
    Dim objFolderItem As FolderItem
    Dim objItemVerbs As FolderItemVerbs

    Set objShell = New Shell
    Set objFolder2 = objShell.Namespace("c:\")
        If (Not objFolder2 Is Nothing) Then
            Set objFolderItem = objFolder2.ParseName("a.doc")
                If (Not objFolderItem Is Nothing) Then
                    objFolderItem.InvokeVerb "&drukuj"
                End If
            Set objFolderItem = Nothing
        End If
    Set objFolder2 = Nothing
    Set objShell = Nothing
End Sub

Nie wiem tylko czy da się to zastosować w Net, ale podejrzewam że tak -
tylko musisz jakoś dobrać się do obiektu Shell.Application - powinien chyba
być w jakiejś standartowej bibliotece.


-- 
Pozdrowienia
Piotr Dynia
Technical Details
Message-ID: <djg7lo$827$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <djdcrs$h9a$1@news.onet.pl> <djftp1$t97$1@inews.gazeta.pl> <djg61g$i5s$1@news.onet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "pxd74" <pxd74@poczta.onet.pl>
Newsgroups: pl.comp.lang.vbasic
Subject: Re: Automatyzacja, drukowanie z Worda i referencje
Date: Sun, 23 Oct 2005 16:47:20 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 48
Message-ID: <djg7lo$827$1@inews.gazeta.pl>
References: <djdcrs$h9a$1@news.onet.pl> <djftp1$t97$1@inews.gazeta.pl> <djg61g$i5s$1@news.onet.pl>
NNTP-Posting-Host: 85.237.177.146
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1130078713 8263 85.237.177.146 (23 Oct 2005 14:45:13 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Sun, 23 Oct 2005 14:45:13 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1506
X-Priority: 3
X-Newsreader: Microsoft Outlook Express 6.00.2800.1506
X-User: pxd74
X-MSMail-Priority: Normal
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit