質問: エクセルvbaでpdfを作成したい エクセル2000 windows7(管理者権限無し) <ソフトを使うのであれば、フリーソフト> adobe、acrobat 無し(adobe readerのみ) 以上の状況下でエクセルvbaを使って、 エクセル⇒pdf保存したいのですが、 検索の方法が悪いのか、どれかの条件で出来なくなってしまいます。 解決方法ご存知の方、ご教授いただけないでしょうか?><; 現状はcubepdfというソフトで手作業で変換しています。 (質問内容に不足部分ありましたら、補足いたします)
回答: 時間が足りなかったようですね application.wait (now + timevalue("0:00:10"))← 0:00:20 とか増やす方法もありますが 環境によって変更するようだと、不細工なので ------ここから activewindow.selectedsheets.printout copies:=1, collate:=true, _ ignoreprintareas:=false '↑プリントアウト do cuhw = findwindow(vbnullstring, "cubepdf 1.0.0rc4 (x64)") loop while cuhw = 0 '↑cubebdfのウインドーが開いたかどうかを確認(この段階ではまだアクティブになるまで若干間がある) setforegroundwindow cuhw '↑cubebdfのウィンドーをアクティブ化 sendkeys "{enter}" ------ここまで cuhw = findwindow(vbnullstring, "cubepdf 1.0.0rc4 (x64)")←この部分は環境によって変更の必要あり "cubepdf 1.0.0rc4 (x64)" cubupdfのバージョンに拠って変化します 添付画像を参考にして赤枠で囲まれたウィンド名に変更して下さい win32 api関数 setforegroundwindow と findwindow を使用していますので 標準モジュールにdeclare function findwindow lib "user32.dll" alias "findwindowa" _ (byval lpclassname as string, _ byval lpwindowname as string) as long declare function setforegroundwindow lib "user32" _ (byval hwnd as long) as long 宣言文をおいて下さい http://www.happy2-island.com/excelsmile/smile01/capter00400-03.shtml