[[20190802104953]] 『指定フォルダに保存したい』(モリ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『指定フォルダに保存したい』(モリ)

現在下記のマクロを作成してPDFに保存しています。
ここで、デスクトップ上の見積もりというフォルダ内のPDFに保存できるように作り変えたいと思っています。

FilePath = ThisWorkbook.Path & "\"

この部分のThisWorkbook.Pathを変更すればいいのでしょうか?

C:\Users\kobayashi\Desktop\営業見積\御見積書\PDF
上記のパスを取得して書き換えたのですが、できなくて悩んでます。
よろしくお願いします。

Sub PDF()
Dim FileName As String
Dim FilePath As String
Dim FSO As Object
FileName = Range("T4")
Set FSO = CreateObject("Scripting.FileSystemObject")
FileName = FSO.getbasename(FileName)
FilePath = ThisWorkbook.Path & "\"
Worksheets("見積書フォーム").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=FilePath & FileName & "_" & Range("T4").Value & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 文字列の連結を勉強してください。
 良い機会だから、あれこれ悩んでください。
(BJ) 2019/08/02(金) 12:44

質問とは関係ない話も含まれますので気に入らなければ読み飛ばしてください。

■1
新しい質問をするのもよいとおもいますが、質問しっぱなしはあんまり感心できません。
同じ方であるかはわかりませんが、同じ方であれば話が終わってないトピックがあるようですよ。

 (2012年のほうは、今となってはどうしようもないでしょうけど・・・)
[[20190729183656]] 『自動保存のマクロがうまくできません。』(モリ)
[[20120116133438]] 『ブック元からブック先へ転記』(モリ)

■2
こだわりがなければ、インデントをつけた方が、見る方にとってもご自身でデバッグをするときにも便利だと思います。

 【インデント】
http://kabu-macro.com/vba_apply/vba_indent.html

■3
デスクトップやマイドキュメントなどの特殊フォルダを取得する場合、いくつか方法があります。

 【特殊フォルダ】
http://officetanaka.net/excel/vba/tips/tips107.htm

■4
ファイル名についてすごく回りくどいことをしているように見えます。
「見積書フォーム」シートのT4セルに入っている【文字列】から、拡張子部分を除きたいだけなら、FileSystemObjectを使わなくても文字列操作だけでも解決しそうです。

 【InStrRev関数】
http://vba.doorblog.jp/archives/51251650.html
http://officetanaka.net/excel/vba/tips/tips57.htm
※尤も、「T4セルに入れる文字列は拡張子付けない。」という運用をすれば、
 拡張子部分を取るという作業自体が要りません。

■5
研究用のコードを提供します。
ステップ実行して研究してみて、使えそうな部分があればご自身のコードに組み込んでください。
(理解してほしいので、何も考えずに丸写しはNGとします)

    Sub さんぷる()

        Dim 保存フォルダ As String

        Stop

        保存フォルダ = CreateObject("WScript.Shell").SpecialFolders("Desktop") & _
                       "\営業見積\御見積書\PDF\"

        With Worksheets("見積書フォーム")
            .ExportAsFixedFormat _
                Type:=xlTypePDF, _
                FileName:=保存フォルダ & .Range("T4").Value & "_" & .Range("T4").Value, _
                Quality:=xlQualityStandard, _
                IncludeDocProperties:=True, _
                IgnorePrintAreas:=False, _
                OpenAfterPublish:=True
        End With

    End Sub

(もこな2) 2019/08/02(金) 17:21


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.