プロが教えるわが家の防犯対策術!

PDF出力マクロについて。マクロ初心者です。
エクセルで、アクティブシートを指定したフォルダに保存するマクロを組んだのですが、ドライブが違う人でも作動するようにするにはどうしたら良いでしょうか?そもそも不可能なのでしょうか。

コードは以下になります

………………………………………………………………………

Sub アクティブシートPDF出力()

Dim strPath As String
strPath = "V\○○○○"(指定フォルダのフルパス)

Dim ShName As String
ShName = ActiveSheet.Name

With ActiveSheet.PageSetup
Zoom = False
FitToPagesWide = 1
FitToPagesTall = 1
End With

If MsgBox(ShName &"シートをPDF形式で出力します。よろしいですか?", vbQuestion + vbYesNo) = vbNo Then
MsgBox "中止しました。"Exit Sub
End If

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=strPath &"\"&ActiveSheet.Range("B8").Text &"_"&Sheets(ShName).Name &".pdf"End Sub

………………………………………………………………………………


また、無駄な部分や追加した方がいいもの等ありましたらアドバイスいただけたらと思います。

A 回答 (1件)

以下のようにして、出力するフォルダをオペレータに選択させるようにしては、いかがでしょうか。



Sub アクティブシートPDF出力()

Dim strPath As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then
strPath = .SelectedItems(1)
Else
Exit Sub
End If
End With

Dim ShName As String
ShName = ActiveSheet.Name

With ActiveSheet.PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With

If MsgBox(ShName & "シートをPDF形式で出力します。よろしいですか?", vbQuestion + vbYesNo) = vbNo Then
MsgBox "中止しました。"
Exit Sub
End If

ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=strPath & "\" & ActiveSheet.Range("B8").Text & "_" & Sheets(ShName).Name & ".pdf"
End Sub
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A