Autor Temat: Zmiana wielkosci strony w domyslnej drukarce za pomoca VBA.
Manaslu
Typ: neutral Postów: 41 Zarejestrowany: Dec 2003
Zmiana wielkosci strony w domyslnej drukarce za pomoca VBA. Hej,czy ktos wie jak za pomoca VBA (Excel 97) dostac sie do domyslnej drukarki Windowsa i zmienic kilka parametrow (np wielkosc strony z A4 na inny format)?Informacje o domyslnej drukarce udalo mi sie uzyskac uzywajac funkcji 'APIGetProfileString'.Niestety nie udalo mi sie utworzyc obiektu drukarki tak by miec dostep do jego skladowych. Deklaracja :Dim objPrinter As Printerpowoduje blad - zdaje sie ze jest to mozliwe w Excelu 2000.Tak wiec sadze, ze konieczna tu bedzie jakas funkcja API. Pytanie tylko jaka ?Z gory dziekuje za wszelkie wskazowkiPozdrawiam
29-09-2004 22:53
2130338
Piotr T
Typ: neutral Postów: 176 Zarejestrowany: May 2004
A mógłbyś wkleić ten kod wykorzystujący API do uzyskania informacji o drukarce _____________________________________________Visual Basic.NET - Mercedes dla programistów
30-09-2004 08:15
Manaslu
Typ: neutral Postów: 41 Zarejestrowany: Dec 2003
Z mila checia. Ponizszy kod nie jest zbyt elegancki. Z tego co sie orietuje w Excelu 2000 i wyzej mozna uzyc czegos takiego: Dim objPrinter As Printer For Each objPrinter In Printers Next objPrinterco daje dostep do objPrinter. Ale jak to zrobic pod Excelem 97 ?W kazdym razie oto moj przyklad:Private Declare Function GetProfileString Lib "kernel32.dll" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As LongPublic Function GetDefaultPrinter() As String Dim strBuffer As String * 254 Dim iRetValue As Long Dim strDefaultPrinterInfo As String iRetValue = GetProfileString("windows", "device", ",,,", strBuffer, 254) strDefaultPrinterInfo = Left(strBuffer, InStr(strBuffer, Chr(0)) - 1) GetDefaultPrinter = strDefaultPrinterInfoEnd FunctionPrivate Sub main() MsgBox " Domyslna drukarka to: " & GetDefaultPrinterEnd SubPozdrawiam
30-09-2004 11:28
2130338
Wszystkich odpowiedzi: 2 :: Maxymalnie na stronę: 20