自分で勉強しろというのは百も承知で質問します。 2日まるまる調べながらやってもできませんでした… マクロでExcelをPDFにしてデスクトップに保存のやり方です。
自分で勉強しろというのは百も承知で質問します。 2日まるまる調べながらやってもできませんでした… マクロでExcelをPDFにしてデスクトップに保存のやり方です。 自分のパソコン以外でも実行可能にしたいのですがどう調べても 作成することができませんでした。 (できたとしても自分のパソコンだけだったり名前を変更できなかったりを繰り返しています…) したいことをまとめますのでご教授お願いします。 ・シートは1枚だけです。A4サイズに収まってます。 ・どのパソコンからでもPDFにしてデスクトップに保存できるようにする。 ・名前はセルの名前を参照(今回はA2含む結合したセルです)。 ・ボタンを押したらコメント(PDFで保存しますか?等で左に?マークも出るのが理想です) ・はい、いいえ(もしくはキャンセル) ・いいえ(もしくはキャンセル)の場合は実行されない。キャンセルされました等 ・はいの場合は実行しコメント(PDFで保存されました。ファイルはデスクトップにあります等) 初心者なりに調べながら途中まで出来たのですがセルの名前を参照することができなかったのと、いいえで実行はされなかったがはいのコメントがでてきて、いろいろ変更していたら復元できなくなって絶望してしまいました。 わがまま、無知、基礎から勉強したがいい。 もちろん承知の上です。勉強不足で聞くのもどうかと考えましたが、まずこれを作成したいという気持ちのほうが強く質問させていただきました。 きちんと出来上がったものがどういう意味なのか理解できるよう今後努力します。 説明不足あれば補足いたしますので大変申し訳ありませんがよろしくお願いいたします。
Excel | Visual Basic・115閲覧・250
ベストアンサー
Sub Example() Const シートの名前$ = "Sheet1" Const ファイル名が入ったセル$ = "A2" '「はい」以外は処理を抜ける If MsgBox("PDFで保存しますか?", vbYesNoCancel) <> vbYes Then MsgBox "キャンセルされました" Exit Sub End If Dim シート As Worksheet Set シート = Worksheets(シートの名前) Dim 保存先フォルダー$ 保存先フォルダー = CreateObject("WScript.Shell").SpecialFolders("Desktop") Dim ファイル名$ ファイル名 = シート.Range(ファイル名が入ったセル).Value Dim ファイルパス$ ファイルパス = 保存先フォルダー & "\" & ファイル名 シート.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ファイルパス MsgBox "PDFで保存されました。ファイルはデスクトップにあります" End Sub
1人がナイス!しています
ありがとうございます。 すみませんが実行できませんでした… 実行エラー424 オブジェクトが必要ですとなります。 Set シート = Worksheet が黄色く表示されます… あとわがまま言いますが選択画面でインフォメーションマーク(?) を入れたいのですが可能でしょうか? ほんとにすみません。
質問者からのお礼コメント
無事解決しました! ありがとうございました!
お礼日時:1/27 13:33