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.2ベストアンサー
- 回答日時:
回答スルーですか?
ファイル名を
myGetFileName & Sheets(i).Name
としてみてはと書いているつもりですが?
vba初心者と読むか読まないかは別次元かと。
ありがとうございました。myGetFileName & Sheets(i).Name で解決しました。上でFilename = myFileName Sheets(i).Name = "様式-1"となっているので Filename = myFileName& "様式-1" と指定するばいいのかなと間違った考えでいました。
No.3
- 回答日時:
それ以前に myFileNameの構造が理解できてないんだよね。
多分。GetOpenFilenameの複数ファイル指定とかで
複数ファイルが選ばれる可能性を考慮したんだろうけど
多分記述からそこが理解できてないんだと思います。
一気にそんな高級な所に行っても理解できません。
とりあえずMulltiSelectはやめて単一ファイルを使いこなせてから
考えてください。
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.5
- 回答日時:
>エラーになってわからなかったです。
根本はこれだね。多分、vbaはエラーをひとつずつ潰していく
作業なしには成立しません。
エラーがどこで起きているのか、原因は何なのか
それを訊かなきゃ理解なんてできません。
まずエラーでメッセージは表示されるのかされないのか
デバッグに入れるのか入れないのか
ステップ実行の仕方は理解しているか
そこからです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの警告について
-
VBAでブックを非表示で開いて処...
-
エクセルの関数 ENTERを押...
-
エクセルを共有するとPCによっ...
-
エクセルファイルを開かずにpdf...
-
エクセルで「ディスクがいっぱ...
-
複数ファイルから特定シートの...
-
エクセルで参照しているデータ...
-
エクセルで開いていないbookの...
-
Excel(2010)のフィルターが保...
-
Excelでブックの共有を掛けると...
-
Excel起動時に特定のワークシー...
-
Excel VBA セルと同じ名前のブ...
-
ブックの保護ができないんです...
-
エクセルVBAでブックを相対パス...
-
Excelで複数ブックの同一セルに...
-
エクセルで別ブックをバックグ...
-
エクセルにおける,「ブック」...
-
エクセルファイルをオープンし...
-
Excelファイルをダブルクリック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを共有するとPCによっ...
-
Excelの警告について
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
エクセルにおける,「ブック」...
-
WorkBooksをオープンさせずにシ...
-
エクセルで参照しているデータ...
-
エクセルで「ディスクがいっぱ...
-
Excelで複数ブックの同一セルに...
-
【マクロ】【VBA】別ブックへの...
-
Excel(2010)のフィルターが保...
-
Excelでブックの共有を掛けると...
-
エクセルで50行ごとに区切った...
-
エクセルでウィンドウの枠固定...
-
同じフォルダへのハイパーリン...
-
ブックのピボットを別ブックに...
-
VBAでブック保護非保護を判定す...
-
【マクロ】for nest について ...
-
エクセルファイルを開かずにpdf...
-
フォルダ内の複数ファイルから...
おすすめ情報