|
||||
Disse websidene oppdateres ikke lengre og er kun tilgjengelig for historikken sin skyld.Klikk her for å gå til den oppdaterte informasjonen. Endre standardskriverVed å endre egenskapen Application.ActivePrinter kan du bestemme hva som skal være standardskriver. Dette kan være nyttig dersom du f. eks vil skrive ut et enkelt regneark på en annen skriver en gang i blant. Fremgangsmåten er som følger: Sub SkrivUtTilEnAnnenSkriver() Dim strCurrentPrinter As String strCurrentPrinter = Application.ActivePrinter ' lagre den aktive skriveren On Error Resume Next ' ignorer utskriftsfeil Application.ActivePrinter = "microsoft fax on fax:" ' bytt til en annen skriver ActiveSheet.PrintOut ' skriv ut det aktive arket Application.ActivePrinter = strCurrentPrinter ' bytt tilbake til den originale skriveren On Error Goto 0 ' gjenoppta normal feilhåndtering End Sub Skriv ut til en nettverksskriverEksempelmakroene nedenfor viser hvordan man kan få tak i det fulle navnet til en nettverksskriver (nyttig når navnet til nettverksskriveren kan endres) og skriver ut et regneark til den valgte skriveren: Sub SkrivUtTilNettverksSkriver() Dim strCurrentPrinter As String, strNetworkPrinter As String strNetworkPrinter = GetFullNetworkPrinterName("HP LaserJet 8100 Series PCL") If Len(strNetworkPrinter) > 0 Then ' fant den aktuelle nettverksskriveren strCurrentPrinter = Application.ActivePrinter ' bytt til nettverksskriveren Application.ActivePrinter = strNetworkPrinter Worksheets(1).PrintOut ' skriv ut et regneark ' bytt tilbake til den opprinnelige skriveren Application.ActivePrinter = strCurrentPrinter End If End Sub Function GetFullNetworkPrinterName(strNetworkPrinterName As String) As String ' returnerer det fulle nettverksnavnet til en nettverksskriver ' returnerer en tom tekststreng dersom skriveren ikke finnes ' eksempel: GetFullNetworkPrinterName("HP LaserJet 8100 Series PCL") ' kan returnere "HP LaserJet 8100 Series PCL on Ne04:" Dim strCurrentPrinterName As String, strTempPrinterName As String, i As Long strCurrentPrinterName = Application.ActivePrinter i = 0 Do While i < 100 strTempPrinterName = strNetworkPrinterName & " on Ne" & Format(i, "00") & ":" On Error Resume Next Application.ActivePrinter = strTempPrinterName On Error GoTo 0 If Application.ActivePrinter = strTempPrinterName Then ' nettverksskriveren ble funnet GetFullNetworkPrinterName = strTempPrinterName i = 100 ' avslutter loop-en End If i = i + 1 Loop ' fjern linjen nedenfor dersom du også vil at funksjonen skal endre den aktive skriveren Application.ActivePrinter = strCurrentPrinterName ' bytt tilbake til den originale skriveren End Function
Dokumentet er sist oppdatert 2005-06-03 13:38:25 Utskriftsvennlig versjon
|
||||
|