初めて質問させていただきます。
やりたいことはPDFのリネームなのですが、単純にAをBにすればいいというものではありません。
時間があればじっくりトライアンドエラーしてどうしてわからないときに質問しようと思いましたが急ぎで頼まれております。。
使用するセルはA~D列、行は空になるまで繰り返しとなります。
元ファイル名は、
「C列D列(特定の文字1).pdf」
となり、このファイル名を
「(特定の文字2)A列-B列_(特定の文字3)_エクセルの行番号_C列D列.pdf」
にリネームしたいのです。
加えて、行数はその時により変わるのですがA列とB列は最初から最終行までセル連結しているので
毎回A1、B1を指定すればよいのかなと思うのですが合ってますでしょうか。
勿論どんなコードになるか直接お教え頂ければこれ以上になくありがたいですが、
厚かましいようでしたらヒントでも結構ですのでなにか情報を頂きたく存じます。
藁にも縋る思いです…宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
「〇行から最終行まで繰り返す」
「セルの内容から目的の文字列を作る」等の基本的な部分は大丈夫として・・・
FileSystemObjectを使用することになるでしょう。
肝となる部分は
Set f = fso.GetFile(filePath) ' ファイルの取得
※filePathは絶対パスを含めて「C列D列(特定の文字1).pdf」を指定した文字列。特定の文字1は行番号等に依存しないものとしています。
※存在しない場合のエラー回避は必要になります。
f.Name = (特定の文字2)A列-B列_(特定の文字3)_エクセルの行番号_C列D列.pdf ' ファイル名の変更
ということになるでしょう。
※特定の文字2も特定の文字3も行番号に依存しない
>行数はその時により変わるのですがA列とB列は最初から最終行までセル連結しているので
要するにA列(およびB列)は縦方向に結合されているので、Range(”A1").valueもRange(”A2").valueも同じ。という解釈で問題ないでしょうか?
それでしたら
>毎回A1、B1を指定すればよいのかな
で問題ありません。というより、最初に指定しておけば良いのでループの前に変数に取得しておけば良いのです。
ただし、連番のように行番号によって違う値が必要でしたらその行の値を行ごとに取得しなければなりませんね。
最後に参考になりそうなページを紹介しておきます。
Tipsfound › Excel VBA › ファイル名の取得または変更する
https://www.tipsfound.com/vba/18011
ご回答ありがとうございます。
分かりにくい内容にご丁寧に答えてくださってありがとうございます。
やはり今の私には一筋縄ではいかなそうですね。。
参考ページ等を読み込み自分なりにコードを書けるようにすることをまずは目標としようと思います。
No.4
- 回答日時:
急ぎであれば、マクロでの実装は諦めた方が良いと思います。
シート上で、数式を駆使して、コマンドプロンプトのRENAMEコマンドの形式で文字列を組み立てて、その文字列をファイルに出力して、バッチファイルとして実行するのが、一番簡単で安全確実な方法だと思います。
ご回答ありがとうございます。
マクロ初心者としてはバッチファイルとして実行の方が簡単なんですね。
まずはバッチファイル作成を試みたいと思います。
マクロはトライエラーして実装できるように勉強したいと思います。
No.2
- 回答日時:
No1です。
セルのイメージを添付図のような例を挙げて、具体的に
○○○を□□□のような例を挙げていただけるとわかりやすいかと思います。
は、
セルのイメージを添付図のような例を挙げて、具体的に
○○○を□□□にリネームしたいというような例を挙げていただけるとわかりやすいかと思います。
の誤りです。訂正いたします。
ご回答ありがとうございます。
確かにやりたいことが分かりにくいですよね。
次に質問することがありましたらイメージを添付するようにします。
アドバイスありがとうございます。
No.1
- 回答日時:
セルのイメージを添付図のような例を挙げて、具体的に
○○○を□□□のような例を挙げていただけるとわかりやすいかと思います。
画像はアクセサリのsnipping toolを使うと簡単に画面から切り取りができます。(これもsnipping toolで作成しています)
pdfファイルは、決まった同じフォルダ内にあると考えて良いのでしょうか。
(フォルダの情報がA,B,C,D列のセルになさそうなので確認しました)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) excelにて、特定の列に数字入力してあれば、入力してある行コピーして 別ファイルに張り付ける 2 2022/08/11 05:33
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
B列の最終行までA列をオート...
-
Worksheets メソッドは失敗しま...
-
Excelで、あるセルの値に応じて...
-
Cellsのかっこの中はどっちが行...
-
VBAを使って検索したセルをコピ...
-
Changeイベントでの複数セルの...
-
文字列の結合を空白行まで実行
-
マクロ 最終列をコピーして最終...
-
VBAで10行おきにセルの下に罫線...
-
VBA 何かしら文字が入っていたら
-
vbaでシートより100より大きい...
-
VBAのFind関数で結合セルを検索...
-
rowsとcolsの意味
-
【VBA】2つのシートの値を比較...
-
重複データの合算(VBA)
-
エクセル VBA ユーザーフォー...
-
【Excel VBA】 B列に特定の文字...
-
マクロで若干複雑なPDFのファイ...
-
セルに値が入っていた時の処理
-
vba 2つの条件が一致したら...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
B列の最終行までA列をオート...
-
Excelで、あるセルの値に応じて...
-
vba 2つの条件が一致したら...
-
Cellsのかっこの中はどっちが行...
-
VBAを使って検索したセルをコピ...
-
文字列の結合を空白行まで実行
-
VBA指定行削除
-
VBAのFind関数で結合セルを検索...
-
IIF関数の使い方
-
VBA 何かしら文字が入っていたら
-
マクロ 最終列をコピーして最終...
-
エクセルについて
-
【VBA】2つのシートの値を比較...
-
URLのリンク切れをマクロを使っ...
-
データグリッドビューの一番最...
-
Changeイベントでの複数セルの...
-
空白セルをとばして転記
-
rowsとcolsの意味
-
エクセルVBAにて =A1=B1とすれ...
おすすめ情報