
No.5ベストアンサー
- 回答日時:
時間が足りなかったようですね
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/ …

この回答への補足
ありがとうございました。
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True ', IgnorePrintAreas:=False
'↑プリントアウト
の部分を
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, ActivePrinter:="CubePDF on Ne05:"
'↑ActivePrinter:="ここを変える" マクロの記録などで確認 <プリンタの設定>
に変えて使っています^^
2バイト文字のパス名の件は別で質問をあげることにします^^
助かりました!!ありがとうございます^^
ありがとうございます!!
目からウロコとはまさにこのことです!!!!m(__)m
ありがとうございます!
探す方も多い質問のようなので、
A1セルのファイル名を取得して保存するようにしたものをつけておきます。
(不完全なのでファイル名が英数字でないといけないようですが^^;)
【全て標準モジュール】(IgnorePrintAreas:=FalseはEXCEL2000では使えないらしいです)
~↓~以下~
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
Sub WEB2525SANARIGATO()
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True ', IgnorePrintAreas:=False
'↑プリントアウト
Do
cuHw = FindWindow(vbNullString, "CubePDF 1.0.0RC4 (x86)")
Loop While cuHw = 0
'↑CubeBDFのウインドーが開いたかどうかを確認(この段階ではまだアクティブになるまで若干間がある)
SetForegroundWindow cuHw
'↑CubeBDFのウィンドーをアクティブ化
Dim Fname As String
Fname = Range("A1") 'ファイル名を取得
PresentPrinter = Application.ActivePrinter
With CreateObject("Wscript.Shell") '保存先の所まで移動して名前をつける
.SendKeys "{TAB}"
.SendKeys "{TAB}"
.SendKeys "{TAB}"
.SendKeys "{TAB}"
.SendKeys "{TAB}"
.SendKeys Fname
.SendKeys "{ENTER}"
End With
Application.ActivePrinter = PresentPrinter
End Sub
No.4
- 回答日時:
>この先、作成(保存)までいく方法ありますでしょうか?
デフォルトの状態でPDF化して構わなければ
Sheets("DEMO").PrintOut , ActivePrinter:="Cube PDF"
Application.Wait (Now + TimeValue("0:00:10"))
'↑はCubePDFのウインドーが開ききるまでの待ち時間、数値は任意で指定
SendKeys "{ENTER}"
保存先やファイル名の変更、その他設定が必要な場合は
http://www.excel-vba.net/excel-application-006.h …
↑
こちらを参考に、変更して下さい
この回答への補足
解答ありがとうございます^^
試してみたのですが、
Enterが CubePDF 上で押されておらず、
エクセル上でおされる形となり、
エクセルの選択セルが一つずれるだけになってしまいます^^;
CubePDFがアクティブになっていないんだとは思うのですが。。。やり方が><;
わかりますでしょうか?
”いけましたー”とお礼を入れたかったのですが
AppActivateなど色々試しては みたものの
CubePDFを選択させる方法がわかりませんでした^^;
選択する方法をお教えいただけないでしょうか?
~~~
必要かどうかわかりませんが、
cubepdf.exe の場所は
C:\Program Files\CubePDF\cubepdf.exe
です。
No.3
- 回答日時:
管理者権限無しであれば新たなソフトのインストールは無理でしょう
>CubePDFというソフトで手作業で変換しています
CubeがインストールされているのであればCubePDFの仮想プリンターもインストールされていると思われます
ファイル⇒印刷 で使用するプリンターをCubePDFを選択すればPDFファイルが出力されるはずです
http://www.kananet.com/freesoft-cube-pdf/freesof …
解答ありがとうございます^^
Sheets("DEMO").PrintOut , ActivePrinter:="Cube PDF"
↑これで試してみたのですが、Cube PDFが起動するだけで、作成(保存)まで進んでくれないのです。。。
この先、作成(保存)までいく方法ありますでしょうか?><;
No.2
- 回答日時:
追記。
http://freesoft-100.com/pasokon/pdf_maker.html
に「印刷すればPDFファイルが出来る」と言うフリーソフトがいっぱいあります。
エクセルやワードで「印刷するだけ」でPDFファイルが出来上がるので便利ですよ。
Adobeにも「印刷するとPDFになる」ってのがありますが、買うと高いです。
PDFにするのは「印刷すればよいだけ」なんで、エクセルVBAででも簡単に実行出来ます(ブックを印刷するマクロをVBAで書くだけ)
この回答への補足
何度もありがとうございます!
XPの時はPrimo使えたんですが><;
管理者権限が厳しいですね^^;
Primoは確かVBAでPDF化まで出来てた記憶があるんですけどね。。。
7は非対応で(T T)
No.1
- 回答日時:
の「無料体験版」を使うと、エクセルのファイルを一発でPDFファイルに出来ます。
早い解答ありがとうございます^^
早速試してみたのですが、
"アクセス権が不十分なためこのマシンのすべてのユーザーが使用できるように
アプリケーションをインストールすることはできません。
管理者としてログインし、再度インストールしてください。
ということで、インストールが途中で止まってしまいます^^;
会社のPCのため管理者としてはログインできないので、
この方法では、できないという結論にしました><すみません。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【マクロ】フォルダ内にあるPDFを合体させるには?有料版adobe必要?
Excel(エクセル)
-
コマンドプロンプトでのPDFファイルの結合
その他(コンピューター・テクノロジー)
-
PDFを結合して一つのPDFファイルにしたい。
PDF
-
-
4
【VBA】PDF出力に任意のファイル名前を付ける方法
Excel(エクセル)
-
5
PDFファイルを分割するマクロの作り方を教えてください。
PDF
-
6
EXCEL ページを指定してPDF出力するVBAを教えてください。
PDF
-
7
VBAでパス名(2バイト文字)のエラーを改善
Visual Basic(VBA)
-
8
Excel VBAでPDFファイルをMicrosoft Print to PDFで出力したい
Visual Basic(VBA)
-
9
画像ファイル変換(Tiff→PDF)
Visual Basic(VBA)
-
10
UserForm
Visual Basic(VBA)
-
11
エクセルVBAを使用し、指定のパワーポイントをPDF保存する方法
Excel(エクセル)
-
12
PDFを簡単に分割できませんか?(2ページ毎)
PDF
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA セルの値がおかしいです
-
VBA セル間のリンク修正につい...
-
【マクロ】並び替えの範囲が、...
-
vba textboxへの入力について教...
-
ワードの図形にマクロを登録で...
-
エクエルのVBAコードについて教...
-
複数のExcelファイルをマージす...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
Excel VBA 選択範囲の罫線色の...
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】開いているブックの...
-
えくせるのVBAコードについて教...
-
VBAの「To」という語句について
-
VB.net 文字列から日付型へ変更...
-
【ExcelVBA】5万行以上のデー...
-
VBA ユーザーフォーム ボタンク...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Docuworks(ドキュワークス)の不...
-
Webページの見えてない部分も含...
-
Outlook メールの添付ファイル...
-
Google Apps Scriptで自動印刷
-
メールアドレス一覧表を印刷したい
-
スマホでcsvからpdfへの変換と印刷
-
ワードで作ったものをペイント...
-
Wordの差し込み印刷について(表...
-
EXCEL ファイル更新日時...
-
ShellExcuteの"print”がExcel20...
-
Excel VBA Backstageビューでの...
-
PDF文書を拡大してコンビニで印...
-
ファイルの背表紙に印刷したい
-
PDF仮想プリンターの使いかって...
-
エクセルVBAでPDFを作成したい
-
Wordのテキストボックスの文が...
-
HPのエントリーシートを印刷す...
-
outlook2016のアドレス帳の印刷...
-
セブンイレブンのネットプリント
-
コンビニのネットワークプリン...
おすすめ情報