עקסעס: סעלעקטן א פרינטער אין עקסעס.

די אחראים: זייער נייגעריג, אחראי, thefact

אוועטאר
פיקח
שר חמישים ומאתים
תגובות: 278
זיך איינגעשריבען אום: דינסטאג ינואר 01, 2008 6:15 pm

עקסעס: סעלעקטן א פרינטער אין עקסעס.

תגובהדורך פיקח » דאנארשטאג פאברואר 28, 2008 2:11 pm

איך האב א ריפארט אין עקסעס, און ווי באקאנט קען מען אנשטעלן ביי די פעידז סעטאפ אז ער זאל אלעמאל נוצען א געוויסע פרינטער, די פראבלעם איז נאר אז ווען די פרינטער איז נישט קאנעקטעד וועט ער דיר בעטן צו נוצען אן אנדערע פינטער, און אויב די ענטפערסט בטעות "יא" וועט זיך טוישען די סעטינגס צו אן אנדערער פרינטער און דאס וויל איך נישט.
יעצט איך ווייס אז עס איז דא וועג צו סעטן די פרינטערס און די פעידז סעטאפ דורך וויזיואל בעיסיקס, אויב איינער קען מיר געבן די קאוד דערויף (אהן בעטן געלט דערפאר, פארשטייט זיך) וועט ער באקומען פון מיר א ברכה להצלחה בכל הענינים.
שכוח גדול ונורא...

אוועטאר
פיקח
שר חמישים ומאתים
תגובות: 278
זיך איינגעשריבען אום: דינסטאג ינואר 01, 2008 6:15 pm

תגובהדורך פיקח » דאנארשטאג פאברואר 28, 2008 5:49 pm

דאס איז וואס כהאב געטראפען, איך פארשטיי האלב וועגס, נישט אינגאנצען אויב איינער קען מסביר זיין

With PD
.pDatatype = vbNullString
.DesiredAccess = PRINTER_ACCESS_ADMINISTER
.pDevMode = 0&
End With

Rtn = OpenPrinter(Printer.DeviceName, hPtr, PD)

If hPtr = 0 Then
MsgBox "Failed to open printer to access properties", vbExclamation,
Printer.DeviceName
Exit Sub
End If

אוועטאר
פיקח
שר חמישים ומאתים
תגובות: 278
זיך איינגעשריבען אום: דינסטאג ינואר 01, 2008 6:15 pm

תגובהדורך פיקח » דאנארשטאג פאברואר 28, 2008 5:50 pm

די פאקט איז אז פאקט בלייבט פאקט, ווי ביזטו, מים רבים לא יכלו לכבות, נא באווייז אונז דיינע קענטעניסן,

אוועטאר
פיקח
שר חמישים ומאתים
תגובות: 278
זיך איינגעשריבען אום: דינסטאג ינואר 01, 2008 6:15 pm

תגובהדורך פיקח » דאנארשטאג פאברואר 28, 2008 5:51 pm

אדער כאטש דיין תלמיד פאטאקי,

אוועטאר
thefact
שר האלפיים
תגובות: 2512
זיך איינגעשריבען אום: מיטוואך ינואר 31, 2007 3:30 pm
לאקאציע: וויליאמסבורג, ברוקלין
פארבינד זיך:

תגובהדורך thefact » פרייטאג פאברואר 29, 2008 12:42 pm

פיקח האט געשריבן:די פאקט איז אז פאקט בלייבט פאקט, ווי ביזטו, מים רבים לא יכלו לכבות, נא באווייז אונז דיינע קענטעניסן,

איך וועל ענטפערן זונטיג בל"נ
הק' משה אהרן (וועבסייט - פראפייל)
לערנט אייך אויס צו שווימען אין די טיפע וואסערן פון קאמפיוטערס

די פאקט איז, אז מ'לערנט, קען מען, און אז נישט...

אוועטאר
פאטאקי08
שר עשרת אלפים
תגובות: 11185
זיך איינגעשריבען אום: דאנארשטאג אוגוסט 09, 2007 1:30 pm
לאקאציע: בקרוב אין וואשינגטאן

תגובהדורך פאטאקי08 » פרייטאג פאברואר 29, 2008 1:43 pm

פיקח האט געשריבן:דאס איז וואס כהאב געטראפען, איך פארשטיי האלב וועגס, נישט אינגאנצען אויב איינער קען מסביר זיין

With PD
.pDatatype = vbNullString
.DesiredAccess = PRINTER_ACCESS_ADMINISTER
.pDevMode = 0&
End With

Rtn = OpenPrinter(Printer.DeviceName, hPtr, PD)

If hPtr = 0 Then
MsgBox "Failed to open printer to access properties", vbExclamation,
Printer.DeviceName
Exit Sub
End If


האסט אראפגעברענגט א האלבע קאוד ברענג אראפ די אנדערע האלב אויך

וויפיל איך פארשטיי טוט דער קאוד זאגען פשוט אז אויב ער טרעפט נישט דער פרינטער זאל ער זיך נישט פרינטן און אויך נישט ארויף ברענגען די שאלה צי די ווילסט ניצן א צווייטע נאר ער קענסעלט די פרינט עקשאן און ער ברענגט ארויף א מעסעדזש באקס מיט איין OK באטטאן
שטייצעך אז די קענסט אויסשטעלן די קאוד וויאזוי די ווילסט אויב די קענסט וויזויל בעסיק

די עיקר איז די שורה
OpenPrinter(Printer.DeviceName, hPtr, PD)

אוועטאר
פיקח
שר חמישים ומאתים
תגובות: 278
זיך איינגעשריבען אום: דינסטאג ינואר 01, 2008 6:15 pm

תגובהדורך פיקח » מוצ"ש מארטש 01, 2008 9:08 pm

דא איז די גאנצע מעשה

Private Sub mnuPrinterProperties_Click()
Dim hPtr As Long, Rtn As Long, PD As PRINTER_DEFAULTS
Dim DM_IN As DEVMODE, DM_Out As DEVMODE
Dim DM_SIZE As Integer
Dim bfIN() As Byte, bufOUT() As Byte
Dim i As Integer
Const PRINTER_ACCESS_ADMINISTER = &H4

Const DM_IN_BUFFER = 8 'DM_MODIFY
Const DM_IN_PROMPT = 4 'DM_PROMPT
Const DM_OUT_BUFFER = 2 'DM_COPY

Const DM_COLLATE As Long = &H8000
Const DM_COLOR = &H800&
Const DM_COPIES = &H100&
Const DM_DEFAULTSOURCE = &H200&
Const DM_DITHERTYPE = &H10000000
Const DM_DUPLEX = &H1000&
Const DM_FORMNAME As Long = &H10000
Const DM_GRAYSCALE = &H1
Const DM_ICMMETHOD = &H2000000
Const DM_INTERLACED = &H2
Const DM_MEDIATYPE = &H8000000
Const DM_ORIENTATION = &H1&
Const DM_PAPERLENGTH = &H4&
Const DM_PAPERSIZE = &H2&
Const DM_PAPERWIDTH = &H8&
Const DM_PRINTQUALITY = &H400&
Const DM_PROMPT = 4
Const DM_SCALE = &H10&
Const DM_TTOPTION = &H4000&
Const DM_UPDATE = 1
Const DM_YRESOLUTION = &H2000&

'1. Open specified printer

With PD
.pDatatype = vbNullString
.DesiredAccess = PRINTER_ACCESS_ADMINISTER
.pDevMode = 0&
End With

Rtn = OpenPrinter(Printer.DeviceName, hPtr, PD)

If hPtr = 0 Then
MsgBox "Failed to open printer to access properties", vbExclamation,
Printer.DeviceName
Exit Sub
End If


'2. Retrieve actual size of DEVMODE and resize byte buffers with generous
error latitude
DM_SIZE = DocumentProperties(0, hPtr, Printer.DeviceName & Chr(0), 0, 0, 0&)
ReDim bufin(DM_SIZE + 128)
ReDim bufOUT(DM_SIZE + 128)


'3. Retrieve current Printer Settings
Rtn = DocumentProperties(0, hPtr, Printer.DeviceName & Chr(0), bufin(0), 0,
DM_OUT_BUFFER)

'4. Show Printer Settings dialog to allow user input
'returns DEVMODE in bufOUT()
Rtn = DocumentProperties(0, hPtr, Printer.DeviceName & Chr(0), bufOUT(0),
bufin(0), DM_IN_PROMPT Or DM_OUT_BUFFER)
If Rtn = 2 Then Exit Sub 'User Cancelled

'5. Copy Public part of DEVMODE to DEVMODE structure
CopyMemory DM_Out, bufOUT(0), Len(DM_Out)

'6. Modify DEVMODE field
'changing DM_OUT.dmFields appears to make no difference
'DM_Out.dmFields = &HFFFFFF
'DM_Out.dmFields Or DM_FORMNAME Or DM_PAPERSIZE Or DM_PAPERLENGTH Or
DM_PAPERWIDTH

'ShowDevMode DM_Out, "DM_out"

' 7. Copy Public part of DEVMODE back to byte buffer
CopyMemory bufOUT(0), DM_Out, Len(DM_Out)



'8. Write DEVMODE to Printer
'Rtn = DocumentProperties(0, hPtr, Printer.DeviceName & Chr(0), bufOUT(0),
bufOUT(0), DM_OUT_BUFFER Or DM_IN_BUFFER)
'"SUCCEEDS" but doesn't change VB Printer object

'PD.pDevMode = VarPtr(bufOUT(0))
'Rtn = ResetPrinterAPI(hPtr, PD)
'"SUCCEEDS" but doesn't change VB Printer object


ClosePrinter hPtr


rtn= ResetDC(Printer.hDC, bufOUT(0))
'RESETS Height and Width of VB Printer Object successfully but not
PaperSize!


MsgBox "Width: " & Printer.Width & vbCrLf & _
"Height: " & Printer.Height & vbCrLf & _
"Papersize: " & Printer.PaperSize

End Sub

אוועטאר
פיקח
שר חמישים ומאתים
תגובות: 278
זיך איינגעשריבען אום: דינסטאג ינואר 01, 2008 6:15 pm

תגובהדורך פיקח » מוצ"ש מארטש 01, 2008 9:09 pm

סשטייט עפעס נאך ווערטער דא
http://www.themssforum.com/VisualBasic/ ... s-DEVMODE/

אוועטאר
thefact
שר האלפיים
תגובות: 2512
זיך איינגעשריבען אום: מיטוואך ינואר 31, 2007 3:30 pm
לאקאציע: וויליאמסבורג, ברוקלין
פארבינד זיך:

תגובהדורך thefact » זונטאג מארטש 02, 2008 4:47 pm

ס'ארבייט למעשה?
הק' משה אהרן (וועבסייט - פראפייל)
לערנט אייך אויס צו שווימען אין די טיפע וואסערן פון קאמפיוטערס

די פאקט איז, אז מ'לערנט, קען מען, און אז נישט...

אוועטאר
פיקח
שר חמישים ומאתים
תגובות: 278
זיך איינגעשריבען אום: דינסטאג ינואר 01, 2008 6:15 pm

תגובהדורך פיקח » זונטאג מארטש 02, 2008 6:23 pm

thefact האט געשריבן:ס'ארבייט למעשה?

איך האב עס נישט פראבירט ווייל איך ווייס נישט געהעריג וויזוי עס צו ניצען,
אונטער וועלכע פראפערטיעס זאל איך עס לייגן, אזוי אויך וויזוי ווייסעך וועלכע נאמבער מיין פרינטער איז.


צוריק צו “מייקראסאפט עקסעל / עקסעס”

ווער איז אונליין

באנוצערס וואס דרייען זיך דא: נישטא קיין איינגעשריבענע באנוצערס און 2 געסט