# Outlook VBA SendKeys



## Tuts4you (8. März 2008)

Hallo,

Ich weiss selber, dass "SendKeys" die absoulte Notlösung in VBA ist - und diese Variante ist es auch für mich.

Ich probier über Outlook den PDF Drucker anzusteuern und via SendKeys den Dateinamen zu übergeben, sodas der Benutzer keine Eingabe tätigen muss.


```
Sub StartPrinting()

SendKeys "^p"
SendKeys "{TAB 5}"
SendKeys "a" 
SendKeys "{ENTER}" 

bis hier her funktioniert alles einwandfrei - doch jetzt öffnen sich der Acrobat Dialog

SendKeys "dateiname.pdf" 

End Sub
```
Mit ^p (STRG+p) öffne ich den Druckdialog. Mit {TAB 5} komme ich zur Druckerauswahl. a brauche ich für Adobe. 
Wenn sich der Adobe Acrobat Druckdialog öffnen scheitert die letzte Routine. Der Dateiname kommt nicht mehr an. 
In Excel kann ich Application.Wait (Now + ("00:00:02")) verwenden, aber was in Outlook? Ich hab schon alles nur erdenkliche ausprobiert


```
Sub StartPrinting()

SendKeys "^p"
SendKeys "{TAB 5}"
SendKeys "a" 
SendKeys "{ENTER}" 
PleaseWait
SendKeys "dateiname.pdf"

End Sub

 Sub PleaseWait()
   
      Start = Timer
      Do While Abs(Timer - Start) < 1
          DoEvents
      Loop
      
  End Sub
```
Keine Chance Der Code wird nicht sukzessiv abgearbeitet


```
Sub StartPrinting()

SendKeys "^p"
SendKeys "{TAB 5}"
SendKeys "a" 
SendKeys "{ENTER}" 
For i = 1 to 50
SendKeys " "
Next i
SendKeys "^a"
SendKeys "dateiname.pdf" 

End Sub
```
Mit dieser for-schleife (ich schicke 50 leerzeichen und überschreibe sie dann wieder) kommt der Dateiname tatsächlich an. Wenn ich aber dann auf Drucken klicke, hängt sich Adobe Acrobat entweder auf, oder beendet den Vorgang und speichert keine Datei.

Ich bin mit meinem Latein wirklich am Ende... Danke für eure Hilfe


----------



## ronaldh (10. März 2008)

Ich arbeite selten mit VBA. In VB6 mache ich das mit ShellExecute (so das gibt es in VBA aber meiner Meinung nach auch?).


```
ShellExecute Me.hwnd, "print", cTempFile, vbNullString, vbNullString, SW_SHOWNORMAL
```

Bei der Verwendung mit SendKeys hast Du natürlich immer dann, falls Du ein Update vom Acrobat Reader bekommst, in dem dummerweise der Dialog geändert wurde. Dann fängst Du wieder von vorn an.

Grüsse
ronaldh


----------

