dポイントプレゼントキャンペーン実施中!

いつもお世話になっております。
よろしくお願いいたします。

エクセルの決裁書を社員名でpdf保存したいと考えてますが、
例えばA1の文字列をファイル名にして保存、などはマクロで
できるのでしょうか。

よろしくお願いいたします。

A 回答 (3件)

No.2の回答者です。



エラーの内容を書かないと、何のエラーなのか判断つかないのですが。
おそらく、[ 実行時エラー '1004' ] のエラーなのでは?
そうだとしたら、マクロでのパスの書き方の問題だと思いますよ。
Cドライブ直下に保存できないために、エラーになっているのだと思います。

古いOS(たぶんXP以前)なら、Filename:="c:\" & Range("A1").Value & ".pdf"
という書き方でも実行できたと思いますが、最近のOSの場合だと保存先として
利用できないようなので。

Sub PDF変換()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
 Filename:="C:\Users\ユーザー名\Documents\" & Range("A1").Value & ".pdf"
End Sub

上記のように保存先をユーザー名の部分までは必要みたいです。
"C:\Users\ユーザー名\"のユーザー名は、使用しているPCでのユーザー名に
必ず書き換えてくださいね。
もしもユーザー名を調べるのが面倒なら、パスを書かないで作成してください。

Sub PDF変換()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
 Filename:= Range("A1").Value & ".pdf"
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます、無事出来ました!
いやあ、便利になりました。これを機にVBAも少しずつ覚えていきたいと思います。
どうもありがとうございました。

お礼日時:2016/01/08 23:34

No.1の回答者の説明で、どこが理解できないのでしょうか?


サンプルソースをそのまま記載すると

' PDFに変換する
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="c:\xxx.pdf"

となりますよね。
これの Filename:="c:\xxx.pdf"の部分をセル参照するように変更して、
Filename:="c:\" & Range("A1").Value & ".pdf"
に変更します。パス部分が不要なら、Range("A1").Value & ".pdf"でも
既定の保存先に保存してくれます。
http://kokodane.com/mini_macro3.htm

' PDFに変換する
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="c:\" & Range("A1").Value & ".pdf"
    • good
    • 0
この回答へのお礼

ご丁寧なご指導ありがとうございます。

Sub PDF変換()
 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="c:\" & Range("A1").Value & ".pdf"
End Sub

となるでしょうか。
私の環境ではエラーが出て実行できないのですが・・・

お礼日時:2016/01/08 07:36

マクロってVBAの事でしょうか?


VBAで行うならExportAsFixedFormatのType=xlTypePDFでPDF指定、社員名はFilenameに文字列結合で可能です。

(参考)http://excel.style-mods.net/tips_vba/tips_vba_8_ …
    • good
    • 0
この回答へのお礼

すみません、もうひとつ詳しく教えて頂けませんでしょうか。
http://detail.chiebukuro.yahoo.co.jp/qa/question …
こちらの回答も参考にしたのですが、もう少しわかりません。

お礼日時:2016/01/06 07:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!