
先日、VBAでエクセルをPDFで保存するときの記述を、tatsu99様に2パターン教えていただいたきました。
現在、保存先を社内の共有サーバーに作成したフォルダを指定していますが
どちらのパターンも、複数のユーザーが各自のデスクトップに作成した特定のフォルダに保存するにはどのように記述したらよいでしょうか?
各ユーザーには、デスクトップに「PDF保存」というフォルダ名でフォルダを作成してもらいます。
「デスクトップパスを取得するユーザ定義関数」など調べてみたのですが、上手くできず…
よろしくお願いいたします。
【先日教えていただいた記述 パターン①】-------------------------------------------------------
■エクセルをPDFで保存し、ファイル名はA1セルを参照するVBAの記述
https://oshiete.goo.ne.jp/qa/10704317.html
Option Explicit
Sub PDF出力()
Const saveFolder = "\\server\PDF保存\"
Dim fname As String
Dim fullname As String
fname = ActiveSheet.Range("A1").Value & ".pdf"
fullname = saveFolder & fname
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fullname
MsgBox (fullname & "保存完了")
End Sub
---------------------------------------------------------------------------------------------------
【先日教えていただいた記述 パターン②】-------------------------------------------------------
■小計の列が「0」の行は非表示で、エクセルをPDF保存するVBAの記述
https://oshiete.goo.ne.jp/qa/10707560.html
Sub PDF出力()
Const saveFolder = "\\server\PDF保存\"
Dim fname As String
Dim fullname As String
Call 表示制御(True)
fname = ActiveSheet.Range("A1").Value & ".pdf"
fullname = saveFolder & fname
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fullname
Call 表示制御(False)
MsgBox (fullname & "保存完了")
End Sub
Private Sub 表示制御(flag)
Dim maxrow As Long
Dim row As Long
maxrow = Cells(Rows.Count, "F").End(xlUp).row 'F列の最大行取得
For row = 6 To maxrow
If Cells(row, "F").Value = 0 Then
Rows(row).EntireRow.Hidden = flag
End If
Next
End Sub
---------------------------------------------------------------------------------------------------

No.1ベストアンサー
- 回答日時:
tatsu99です。
パターン②だけです。
Sub PDF出力()を以下のように変えてください。
Private Sub 表示制御(flag) は変更不要です。
パターン①も同様にします。やってみてください。(出来なかった場合は補足してください)
----------------------------------
Sub PDF出力()
Dim saveFolder As String
Dim WSH As Variant
Dim fname As String
Dim fullname As String
Set WSH = CreateObject("WScript.Shell")
saveFolder = WSH.SpecialFolders("Desktop") & "\"
Call 表示制御(True)
fname = ActiveSheet.Range("A1").Value & ".pdf"
fullname = saveFolder & fname
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fullname
Call 表示制御(False)
MsgBox (fullname & "保存完了")
End Sub
お世話になっております。
毎々、迅速で的確なご回答をいただき本当にありがとうございます。
パターン①も同様にし、できました!
おかげさまで、社内のリクエストに応えることができ
大変助かりました。
またご相談をアップさせていただくこともあるかと思いますが
今後ともどうぞよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
エクセルをPDFで保存し、ファイル名はA1セルを参照するVBAの記述を教えてください。
Excel(エクセル)
-
マクロ、PDFを任意のフォルダへ保存
Excel(エクセル)
-
VBA PDF ファイル名をセルからつける
Excel(エクセル)
-
4
VBAでPDFを保存する
Excel(エクセル)
-
5
エクセルのマクロでの保存先指定方法を教えて
その他(Microsoft Office)
-
6
エクセル マクロを使って同じフォルダ内にPDF保存したい。
Excel(エクセル)
-
7
マクロ始めたばかりです。 デスクトップにあるフォルダをVBAで開きたいのですが
Excel(エクセル)
-
8
日付を入力したセルをファイル名にして保存するには
Excel(エクセル)
-
9
Excelでセル内の文字をファイル名にする方法と、下のSheet1タブを2列にする方法は?
Excel(エクセル)
-
10
(Excel)マクロで複数シートをPDFとして保存するにはどうすれば良いですか?
Excel(エクセル)
-
11
【Excel】指定したセルの名前でPDFを保存する【VBA】
Visual Basic(VBA)
-
12
小計の列が「0」の行は非表示で、エクセルをPDF保存するVBAの記述を教えてください。
Excel(エクセル)
-
13
excelマクロ、任意セルの値で名前を付けて任意のフォルダに保存
Visual Basic(VBA)
-
14
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
15
VBAで空白セルにのみ数値を代入する方法
Excel(エクセル)
-
16
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
17
ファイル名を今日の日付、時刻で保存する
Visual Basic(VBA)
-
18
別のシートから値を取得するとき
Visual Basic(VBA)
-
19
VBAで文字列を数値に変換したい
Excel(エクセル)
-
20
エクセルでマクロを作成してますが、バックスラッシュが入力出来ません。 設定方法等教えて頂けないでしょ
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
「名前を付けてリンク先を保存」と「...
-
5
サイト上の画像や背景等を保存...
-
6
長い文章のデータベース格納に...
-
7
PCR後の遺伝子の安定性について...
-
8
ヤフオクの出品写真のコピー・...
-
9
『SoundEngine』のファイルの保...
-
10
ピクチャの横の×マーク。window...
-
11
エクセルをPDFで保存し、ファイ...
-
12
Firefoxで「名前を付けてリンク...
-
13
有料メルマガの経費計上について
-
14
看護記録について
-
15
WEB用に保存すると余白ができて...
-
16
イラレで作ったイラストをエク...
-
17
IrfanViewで作ったGIFを保存
-
18
保存力かどうかの判定と位置エ...
-
19
パソコン詳しい方教えてくださ...
-
20
音楽データをwmaやm4aでCDから...
おすすめ情報
公式facebook
公式twitter