Pozdrav
Zanima me,kaj je narobe z omenjenim makrojem.Rad bi da excel shrani datoteko,ki ji dam ime kot .xps na željeno lokacijo.
Xps mora tudi biti berljiv v internet explorerju in makro mora tiskalnik na koncu nastaviti na privzete.
Hvala in lep pozdrav
Sub Gumb4_Klikni()
Application.DisplayAlerts = False
Dim imeDatoteke
imeDatoteke = InputBox(" VNESITE IME IN PRIIMEK STRANKE...")
ActiveSheet.Range("A1:I52").Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
ActiveSheet.PrintOut PrintToFile:=True, PrToFileName.SaveCopyAs filename:="d:\emmegas vse\EMMEGAS RACUNI IN PREDRACUNI\EMMEGAS RACUNI\RACUNI STRANK POSLJI\" + " & imeDatoteke & " + ".xps"
ActiveSheet.Save
Application.DisplayAlerts = True
End Sub
makro za shranjevanje xps
Re: makro za shranjevanje xps
Da natisnete xps dokument, morate uporabiti XPS tiskalnik (v sistem ga vstavi instalacija MS pisarne)...
Vaš makro pa poskuša z privzetim tiskalnikom natisnoti XPS datoteko... Če je privzet tiskalnik že omenjeni XPS tiskalnik bi moralo biti OK... Če ni pa seveda ne more delovati.
Vaš makro pa poskuša z privzetim tiskalnikom natisnoti XPS datoteko... Če je privzet tiskalnik že omenjeni XPS tiskalnik bi moralo biti OK... Če ni pa seveda ne more delovati.
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: makro za shranjevanje xps
Mi ne uspe pravilno popraviti in tudi file mi ne shrani pod imenom,ki ga vpišem v box.
Hvala vam za popravek
Hvala vam za popravek
Re: makro za shranjevanje xps
Tale makro vam bo izvedel tisto, kar iščete:
Je pa problem zadeti pravo ime tiskalnika! Priporočam vam, da v Excelu izberete XPS tiskalnik in z njim nekaj natisnete. S tem bo omenjeni tiskalnik postal privzeti tiskalnik in lahko se postavite v VBA urejevalnik ter ga izpišete:
Na ta način boste dobili njegovo pravo ime na konkretnem računalniku. Problem je namreč v tem, da ime tiskalnika ni preprosto "Microsoft XPS Document Writer", temveč mu excel zraven doda še vrata (port) in dobi ime "Microsoft XPS Document Writer on XXXX:"
Koda: Izberi vse
Sub NatisniXPS()
Application.ActivePrinter = "Microsoft XPS Document Writer on Ne00:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, PrintToFile:=True, PrToFileName:="c:\test.xps"
End Sub
Koda: Izberi vse
debug.print Application.ActivePrinter
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: makro za shranjevanje xps
Pozdrav
Sedaj makro dela,vendar so težave,če posnamem makro mi napiše,da je xps tiskalnik Ne00,vendar vseeno pokaže ob zagonu makroja napako.
Tudi ta vaš ukaz mi ga ne izpiše
Sub Gumb2_Klikni()
Debug.Print Application.ActivePrinter
End Sub
To pa je cela koda,kaj naj še spremenim.
Sub Gumb1_Klikni()
Dim defPrinter As String
defPrinter = Application.ActivePrinter
Application.ActivePrinter = "Microsoft XPS Document Writer on Ne00:"
Application.DisplayAlerts = False
Dim imeDatoteke As String
imeDatoteke = InputBox(" VNESITE IME IN PRIIMEK STRANKE...")
ActiveSheet.Range("A1:I42").Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
----VRSTICO SEM DAL TUDI SEM IN TUDI NE DELA--Application.ActivePrinter = "Microsoft XPS Document Writer on Ne00:"-----
ActiveSheet.PrintOut PrintToFile:=True, PrToFileName:="d:\david\" + imeDatoteke + ".xps"
Application.DisplayAlerts = True
Application.ActivePrinter = defPrinter
End Sub
hvala in lp
Sedaj makro dela,vendar so težave,če posnamem makro mi napiše,da je xps tiskalnik Ne00,vendar vseeno pokaže ob zagonu makroja napako.
Tudi ta vaš ukaz mi ga ne izpiše
Sub Gumb2_Klikni()
Debug.Print Application.ActivePrinter
End Sub
To pa je cela koda,kaj naj še spremenim.
Sub Gumb1_Klikni()
Dim defPrinter As String
defPrinter = Application.ActivePrinter
Application.ActivePrinter = "Microsoft XPS Document Writer on Ne00:"
Application.DisplayAlerts = False
Dim imeDatoteke As String
imeDatoteke = InputBox(" VNESITE IME IN PRIIMEK STRANKE...")
ActiveSheet.Range("A1:I42").Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
----VRSTICO SEM DAL TUDI SEM IN TUDI NE DELA--Application.ActivePrinter = "Microsoft XPS Document Writer on Ne00:"-----
ActiveSheet.PrintOut PrintToFile:=True, PrToFileName:="d:\david\" + imeDatoteke + ".xps"
Application.DisplayAlerts = True
Application.ActivePrinter = defPrinter
End Sub
hvala in lp
Re: makro za shranjevanje xps
Ah .... Malce se pa morate pozanimati tudi o VBA urejevalniku... 'Debug.Print' pač piše v Debug okno VBA urejevalnika...
Če hočete v Excelu videti rezultat, ga pač izpišite v sporočilnem oknu:
Če hočete v Excelu videti rezultat, ga pač izpišite v sporočilnem oknu:
Koda: Izberi vse
Sub Gumb2_Klikni()
MsgBox Application.ActivePrinter
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator