*デスクトップに「あいうえおフォルダ」という名前のフォルダがあります。
また、デスクトップに「てすとブック.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.2
- 回答日時:
こんにちは
>「あいう*」と記述してもエラーが出てしまいます。
好き勝手にワイルドカードを用いたつもりになっても、エクセルはワイルドカードとは解釈してくれません。
むしろワイルドカードを使用できるメソッドの方が限られています。
(その前に、ご提示のコードでは、文字列にもなっていないのでエラーになりますが)
ワイルドカードで検索したければ、自分で対象フォルダを探すコードを記述する必要があります。
例えば、以下。
Const fp = "C:\Users\to409\OneDrive\デスクトップ\"
fn = Dir(fp & "あいう*", 16)
If fn = "" Then MsgBox "フォルダが見つかりません": Exit Sub
fn = fp & fn & "\" & s & ".pdf"
' --- ここに保存処理
※ 考えてもいないかも知れませんけれど、(No1様の指摘にもありますが)対象フォルダが複数存在する場合までは配慮していません。
(複数ある場合にどうなるかは、ご自身で確認してください)
※ A1セルの値によってもエラーが発生する可能性はありますが、そのチェックは行っていません。
アドバイスありがとう御座いました。
最初にデスクトップには頭に「あいう」の付く名前のフォルダは一つしかない事を明記すべきでした。スミマセン。
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
添削ありがとう御座いました。
やりたい事が実現しました。
なお、最初にデスクトップには頭に「あいう」の付く名前のフォルダは一つしかない事を明記すべきでした。スミマセン。
お探しの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制作)
-
VBAでの Replace関数で、ワイルドカードは使えないのでしょうか?
Visual Basic(VBA)
-
ExcelVBAでBookを開く時にファイル名の一部だけを指定で
Access(アクセス)
-
-
4
参照するファイルをワイルドカードで指定したい
Visual Basic(VBA)
-
5
マクロのワイルドカードの使い方&エラーの解決方法について
Visual Basic(VBA)
-
6
エクセルでエラーが出て困っています。
Excel(エクセル)
-
7
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
10
vbaサブフォルダーをワイルドカードで取得したい
Visual Basic(VBA)
-
11
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
12
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
13
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
14
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
15
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
16
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
17
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
18
excel VBA 部分一致の名前をパスに指定する方法
Excel(エクセル)
-
19
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
20
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
【ExcelVBA】zip圧縮されたCSV...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ワイルドカード「*」を使うとう...
-
【困っています2】VBA 追加処...
-
VBA シート名が一致した場合の...
-
EXCEL VBA 単語置き換え につい...
-
ExcelのVBAです。フォルダ内の...
-
エクセル VBA 他シートの行を選...
-
エクセルVBAで書式と値の貼付け...
-
VBA 別ブックからコピペしたい...
-
VBS Bookを閉じるコード
-
マクロで最終行を取得したい
-
【前回の続き続きです、ご教示...
-
クリップボードに貼付している...
-
Excel-VBAでのファイルの開き方
-
VBAで別ブックのシートを指定し...
-
【マクロ】違うフォルダにある...
-
VBSでExcelのオープン確認
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
別ブックをダイアログボックス...
-
ワイルドカード「*」を使うとう...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBS Bookを閉じるコード
-
【ExcelVBA】インデックスが有...
-
VBA コードを実行すると画面が...
-
【ExcelVBA】zip圧縮されたCSV...
-
vbaでvbaProjectのパスワード解...
-
VBAで別ブックのシートを指定し...
-
ExcelのVBAです。フォルダ内の...
-
vbaで他のブックに転記したい。...
-
フォルダ内の全てのファイルに...
-
VBAで複数のブックを開かずに処...
-
VBSでExcelのオープン確認
-
VBA 実行時エラー 2147024893
-
【Excel VBA】書き込み先ブック...
-
VBA シート名が一致した場合の...
おすすめ情報