VBA修正してください!
以下のVBAを実行すると、アクティブシートが
PDFに変換され、保存ダイアログボックスが出ずに
自動的にマイドキュメントに保存されます。
修正したいのは
(1)保存場所を選べるようにしたい
(2)adobe pdfが入っていないPCで使用した場合
MSGボックスが表示され、マクロを中止できるようにしたい
--------------------------------------------------------
Dim sActivePrinter As String
With Application
sActivePrinter = .ActivePrinter
With CreateObject("WScript.Network")
.SetDefaultPrinter "adobe pdf"
End With
ActiveWindow.SelectedSheets.PrintOut
.ActivePrinter = sActivePrinter
End With
End Sub
--------------------------------------------------------
使用するのは会社のPCで、複数の人が複数のPCで使用します。
最初、PDFをActiveプリンターに設定したのですが、ネットワークプリンターの
為、プリンターが"adobe pdf on Ne ○○:" ○○の部分が使用するたびに
異なり上手くいきませんでした。
VBAが全く分からない人も利用するので、デバック画面が出ないようにしたいです。
自分の知識では限界です・・・。
VBAに詳しい回答者の方、どうぞ上記VBAに書き足してください!
よろしくお願いします!
1.2ともに不可能です。
VBAではプリンターの制御はできませんから、
1の制御は出来ません。
2も同様に、パソコンのプリンター設定を探して指定する事も出来ませんから、ご希望のエラー処理は簡単には出来ません。
印刷時に、PDFファイルにするように指示(メッセージ)して、印刷を強行しないように注意を促す程度のことしか出来ません。
参考
Sub プリンタ設定()
If InStr(Application.ActivePrinter, "adobe pdf") = 0 Then
MsgBox "現在のプリンタ名:" & Application.ActivePrinter & vbLf & "adobe pdf プリンターを設定してください。"
Else
MsgBox "印刷します"
ActiveWindow.SelectedSheets.PrintOut
End If
End Sub
http://www.geocities.jp/okaway03170507/oka1500e4.htm
お礼
回答ありがとうございます。 はっきり不可能と回答くださったので諦めつきました。 ありがとうございます。