
*デスクトップに「あいうえおフォルダ」という名前のフォルダがあります。
また、デスクトップに「てすとブック.xlsm」というブックがあり、中に「てすとシート」というワークシートがあります。
【質問】「てすとシート」をpdfに変換して「あいうえおフォルダ」に置きたいのですが、その際、マクロで・・・「あいう」が付くフォルダ・・・と指定したいのですが、「あいう*」と記述してもエラーが出てしまいます。正しい記述を教えて下さい。
Private Sub CommandButton1_Click()
Workbooks.Open "C:\Users\〇●〇●\OneDrive\デスクトップ\てすとブック.xlsm"
Workbooks("てすとブック.xlsm").Worksheets("てすとシート").Activate
Dim s As String
s = Workbooks("てすとブック.xlsm").Worksheets("てすとシート").Range("A1")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
C:\Users\to409\OneDrive\デスクトップ\あいう*\ & s & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
End Sub

No.3ベストアンサー
- 回答日時:
Option Explicit
Private Sub CommandButton1_Click()
Dim DeskTop As String, Book As Workbook, File As String, Folder As String
DeskTop = CreateObject("WScript.Shell").SpecialFolders("DeskTop")
Set Book = Workbooks.Open(DeskTop & "\てすとブック.xlsm")
File = Book.Worksheets("てすとシート").Range("A1")
Folder = Dir(DeskTop & "\あいう*", vbDirectory)
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
DeskTop & "\" & Folder & "\" & File & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub
添削ありがとう御座いました。
やりたい事が実現しました。
なお、最初にデスクトップには頭に「あいう」の付く名前のフォルダは一つしかない事を明記すべきでした。スミマセン。
No.2
- 回答日時:
こんにちは
>「あいう*」と記述してもエラーが出てしまいます。
好き勝手にワイルドカードを用いたつもりになっても、エクセルはワイルドカードとは解釈してくれません。
むしろワイルドカードを使用できるメソッドの方が限られています。
(その前に、ご提示のコードでは、文字列にもなっていないのでエラーになりますが)
ワイルドカードで検索したければ、自分で対象フォルダを探すコードを記述する必要があります。
例えば、以下。
Const fp = "C:\Users\to409\OneDrive\デスクトップ\"
fn = Dir(fp & "あいう*", 16)
If fn = "" Then MsgBox "フォルダが見つかりません": Exit Sub
fn = fp & fn & "\" & s & ".pdf"
' --- ここに保存処理
※ 考えてもいないかも知れませんけれど、(No1様の指摘にもありますが)対象フォルダが複数存在する場合までは配慮していません。
(複数ある場合にどうなるかは、ご自身で確認してください)
※ A1セルの値によってもエラーが発生する可能性はありますが、そのチェックは行っていません。
アドバイスありがとう御座いました。
最初にデスクトップには頭に「あいう」の付く名前のフォルダは一つしかない事を明記すべきでした。スミマセン。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Excel(エクセル) 【マクロ】【VBA】同じフォルダ内にあるエクセルのデータを転記したい【ブック1からブック2へ】 9 2023/08/10 07:51
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 2 2022/11/18 15:34
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
ExcelVBAでBookを開く時にファイル名の一部だけを指定で
Access(アクセス)
-
VBAでの Replace関数で、ワイルドカードは使えないのでしょうか?
Visual Basic(VBA)
-
-
4
参照するファイルをワイルドカードで指定したい
Visual Basic(VBA)
-
5
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
excel VBA 部分一致の名前をパスに指定する方法
Excel(エクセル)
-
8
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
9
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
10
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
11
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
12
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
13
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
14
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
15
VBAで先月、先々月を求める方法
Visual Basic(VBA)
-
16
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
17
VBAで配列の計算
Excel(エクセル)
-
18
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
19
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
20
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別ブックをダイアログボックス...
-
VBA 別ブックからコピペしたい...
-
VBA シートをコピーする際に Co...
-
ワイルドカード「*」を使うとう...
-
[Excel VBA] 複数のサブフォル...
-
エクセルVBAで複数のファイルを...
-
ACCESSでExcelにデータ出力、高...
-
マクロを実行すると、エラーに...
-
Excel にて、 リストボックスの...
-
Excelマクロ 該当する値の行番...
-
マクロで最終行を取得したい
-
VBScriptで自動リンクONでExcel...
-
【ご教示ください】VBAの記述方...
-
【Excel VBA】表の列の値毎に分...
-
【VBA】全シートの計算式を全て...
-
エクセルVBAが途中で止まります
-
相対パスでExcel Bookのオープン
-
エクセルVBAで読み取りパスワー...
-
GetOpenFileNameで開いたブック...
-
VBS Bookを閉じるコード
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
VBA 別ブックからコピペしたい...
-
別ブックをダイアログボックス...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
【Excel VBA】書き込み先ブック...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】zip圧縮されたCSV...
-
VBAで別のブックにシートをコピ...
-
VBA コードを実行すると画面が...
-
Excel2007VBAファイルの表示に...
-
VBAで複数のブックを開かずに処...
-
[Excel]ADODBでNull変換されて...
-
Excelファイルを開くとき、読み...
-
VBA 実行時エラー 2147024893
-
Excelマクロ 該当する値の行番...
-
Excel にて、 リストボックスの...
-
VBS Bookを閉じるコード
-
複数のエクセルファイルとシー...
-
【ExcelVBA】インデックスが有...
おすすめ情報