EXCELマクロに関して初心者です。
***
Dim lp1 As Long, lp2 As Long
'ファイルが選択されているときは
'選択したファイルをWorkbooks.Openメソッドで開きます
Filename = myFileName
If IsArray(myFileName) Then
For Each myGetFileName In myFileName
Workbooks.Open myGetFileName
UpdateLinks = 0
IgnoreReadOnlyRecommended = Ture
Application.ScreenUpdating = False
Set Workbook = ActiveWorkbook
For i = 1 To Sheets.Count
If Sheets(i).Name = "様式-1" Then Sheets(i).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Next
****
”様式-1"というシートをPDFで保存繰り返しマクロです。”様式-1”をブック名でPDFに保存繰り返します。Filename:= _ "", ......部分はファイル名と思いますが、
質問です:他のシートも同じ作業させる必要がありますので、Filename:= _ "", この部分改良して
保存されるファイル名を ”ファイル名_様式-1” のようにブック名+シート名を取得して保存することができないでしょうか?
教えてください、宜しくお願いします。
No.5
- 回答日時:
>エラーになってわからなかったです。
根本はこれだね。多分、vbaはエラーをひとつずつ潰していく
作業なしには成立しません。
エラーがどこで起きているのか、原因は何なのか
それを訊かなきゃ理解なんてできません。
まずエラーでメッセージは表示されるのかされないのか
デバッグに入れるのか入れないのか
ステップ実行の仕方は理解しているか
そこからです。
No.4
- 回答日時:
現在のブックの名前は myGetFileName であり、ActiveWorkbook.Name であり、「Set Workbook = 」の Workbook.Name でとれる。
シート名は Sheets(i).Name がそのまんま。
ブックの拡張子よりも左側を抜き出し、あとは文字列を連結するだけ。(PDF の拡張子は勝手につけてくれる)
Dim pdfFilename = Left(myGetFileName, InStr(myGetFileName, ".") -1) & "_" & Sheets(i).Name
Sheets(i).ExportAsFixedFormat Filename:= pdfFilename ・・・
ただコード全体を見るとすこーし直したくなる。
Workbook という名前はワークブックを表す型で使われているから変数名を "Workbook" としているのはやめておいた方が良い。
それと、Workbooks.Open はブックを開くと同時に、開いたブックを Workbook オブジェクトとして返してくれるから、
Dim 変数 As Workbook
Set 変数 = Workbooks.Open(・・・)
の方が良い。
ブック内のシートをグルグル回すのも For Each が使える。
使わなくてもいいけど、コード入力中のインテリセンスが利用できるので開発が楽。
For Each myGetFileName in myFileName
Dim currentBook As Workbook
Set currentBook = Workbooks.Open(myGetFileName・・・)
・・・
Dim currentSheet As Worksheet
For Each currentSheet in currentBook.Worksheets
If currentSheet.Name = ・・・ Then
Dim pdfFilename As String
pdfFilename = Left(currentBook.Name, InStr(currentBook.Name, ".") -1) & "_" & currentSheet.Name
currentSheet.ExportAsFixedFormat Filename:= pdfFilename, Type:=・・・
End If
Next
ありがとうございました。この方法では拡張子無しでできるんですね。
ベストアンサーもう一つ選ぶことができるならこの回答に選べます。
助かれました。本当にありがとうございました。
No.3
- 回答日時:
それ以前に myFileNameの構造が理解できてないんだよね。
多分。GetOpenFilenameの複数ファイル指定とかで
複数ファイルが選ばれる可能性を考慮したんだろうけど
多分記述からそこが理解できてないんだと思います。
一気にそんな高級な所に行っても理解できません。
とりあえずMulltiSelectはやめて単一ファイルを使いこなせてから
考えてください。
No.2ベストアンサー
- 回答日時:
回答スルーですか?
ファイル名を
myGetFileName & Sheets(i).Name
としてみてはと書いているつもりですが?
vba初心者と読むか読まないかは別次元かと。
ありがとうございました。myGetFileName & Sheets(i).Name で解決しました。上でFilename = myFileName Sheets(i).Name = "様式-1"となっているので Filename = myFileName& "様式-1" と指定するばいいのかなと間違った考えでいました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) エクセル2019でPDFファイル名に枝番号をつけたい。 アクティブワークシートを印刷した後の処理とし 4 2023/06/06 21:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
エクセルを共有するとPCによっ...
-
フォルダ内の複数ファイルから...
-
Excel(2010)のフィルターが保...
-
エクセルで参照しているデータ...
-
WorkBooksをオープンさせずにシ...
-
Excelでブックの共有を掛けると...
-
指定ファィルの指定シートをシ...
-
エクセルの関数について教えて...
-
エクセルシートの一部を送りたい
-
エクセルで開いていないbookの...
-
外部ブック参照が#REF!になって...
-
フォルダ内の複数ブック・シー...
-
【困っています】VBA 追加処理...
-
別ブックから入力規則でリスト...
-
エクセルで複数のシートを別フ...
-
エクセル 複数のブックを一度...
-
エクセル2016です。「ブッ...
-
ブックの保護ができないんです...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを共有するとPCによっ...
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
WorkBooksをオープンさせずにシ...
-
Excelでブックの共有を掛けると...
-
エクセルで参照しているデータ...
-
Excel(2010)のフィルターが保...
-
Excelで複数ブックの同一セルに...
-
VBA バックグラウンドで別ブッ...
-
エクセルで50行ごとに区切った...
-
エクセルで「ディスクがいっぱ...
-
エクセルにおける,「ブック」...
-
エクセルファイルを開かずにpdf...
-
フォルダ内の複数ファイルから...
-
ブックのピボットを別ブックに...
-
エクセルシートの一部を送りたい
-
エクセル2016です。「ブッ...
-
エクセルで別ブックをバックグ...
-
フォルダ内の複数ファイルから...
-
複数ファイルから特定シートの...
おすすめ情報