HohoPapaのプロフィール
- ベストアンサー数
- 455
- ベストアンサー率
- 65%
- お礼率
- 33%
- 登録日2017/12/10
- 性別男性
- 都道府県栃木県
- VBAでフォルダ内のファイルの一覧表を作りたい
お世話になります。 表題につき過去にここで教わって(https://okwave.jp/qa/q10129448.html) 毎月数千件のPDFファイルの一覧を作成して非常に助かっているのですが、最近対象ファイルにエクセルやワードもリストアップしたくコードの一部に対象ファイルの拡張子を付け加えてみたのですが、の追加により検索対象フォルダが第1階層までしか検索しなくなってしまっていることに気付きました。 どこを修正すれば良いのでしょう。 ★修正前コード(指定のフォルダ内の子や孫フォルダまで検索) 'PDFファイルを個々に取得(対象拡張子) For Each objFile In FSO.GetFolder(path).Files If UCase(FSO.GetExtensionName(objFile.path)) = "PDF" Then execute objFile End If Next ☆修正後(親フォルダしか検索しなくなった) 'PDFファイルを個々に取得(対象拡張子) For Each objFile In FSO.GetFolder(path).Files If UCase(FSO.GetExtensionName(objFile.path)) = "DOCX" Or _ UCase(FSO.GetExtensionName(objFile.path)) = "XLSM" Or _ UCase(FSO.GetExtensionName(objFile.path)) = "PDF" Then execute objFile End If Next
- ベストアンサー
- Excel(エクセル)
- akira0723
- 回答数4
- VBAでフォルダ内のファイルの一覧表を作りたい
お世話になります。 表題につき過去にここで教わって(https://okwave.jp/qa/q10129448.html) 毎月数千件のPDFファイルの一覧を作成して非常に助かっているのですが、最近対象ファイルにエクセルやワードもリストアップしたくコードの一部に対象ファイルの拡張子を付け加えてみたのですが、の追加により検索対象フォルダが第1階層までしか検索しなくなってしまっていることに気付きました。 どこを修正すれば良いのでしょう。 ★修正前コード(指定のフォルダ内の子や孫フォルダまで検索) 'PDFファイルを個々に取得(対象拡張子) For Each objFile In FSO.GetFolder(path).Files If UCase(FSO.GetExtensionName(objFile.path)) = "PDF" Then execute objFile End If Next ☆修正後(親フォルダしか検索しなくなった) 'PDFファイルを個々に取得(対象拡張子) For Each objFile In FSO.GetFolder(path).Files If UCase(FSO.GetExtensionName(objFile.path)) = "DOCX" Or _ UCase(FSO.GetExtensionName(objFile.path)) = "XLSM" Or _ UCase(FSO.GetExtensionName(objFile.path)) = "PDF" Then execute objFile End If Next
- ベストアンサー
- Excel(エクセル)
- akira0723
- 回答数4
- 数階層のあるフォルダのコピーを 簡単にするVBA
数階層のあるフォルダのコピーを 簡単にするVBAのプログラムについての ご質問です たとえばフォルダがみっつ、フォルダA フォルダB、フォルダCとあるとします これらのなかには人物のIDと対応するフォルダがあり それぞれのフォルダには、そのIDの人物に関する書類pdfが 入っています たとえばフォルダAにそのサブフォルダとして サブフォルダ1があり、そのなかにpdfファイルがいくつかあります サブフォルダ2も同様です サブフォルダ3,4,・・・・ フォルダBではサブフォルダがサブフォルダ_あ サブフォルダ_い,,, とあり、さらにサブフォルダ_あのなかにIDに対応するサブサブフォルダ11, 12.13とあり それぞれに多種のpdfファイルが入っています なかには例えばですが、サブフォルダ_いのなかにも、さきほどのフォルダAのなかにあったID2に対応するサブフォルダ2が入っています。 これらをすべて統括するような総合フォルダにIDに対応するフォルダだけで まとめあげたいという目的なのですが、 上記のフォルダ2のように別の上層階のフォルダから移動するときに、上書きをするか、別名で保存するか問われますが、フォルダ2で統一して、そのかなのpdfファイルに同名のファイルがあれば、片方をそのまま もう一方を---(1)のような ファイル名に変換して上書きされないようにしたく思います 数百のフォルダがあるので、なんとかコードで作れないか お尋ねしたく思います わかりにくい説明ですみません 簡単な図示を添付致します すみません 宜しくお願い致します 言い方を変えますと、 個人それぞれがID番号を持っていて、ID番号が名称の フォルダがあり、そのなかにpdfファイルが任意の数、格納されており、 そのID対応のフォルダが、いくつかのフォルダのなかに分散されていて、 その階層は一定ではないですが、IDフォルダは各フォルダの最下層にあるものであり、 最終的にはすべてのIDgフォルダをひとつの統合フォルダにまとめあげたい。 なかには別フォルダのなかに重複して、あるIDフォルダによっては分散しているので 統合するときに上書きを問われてしまう それを ひとつのIDフォルダに統合し、そのなかのpdfファイルも上書きはしないで 別名保存で そのIDフォルダに保存したい というわけです かえってわかりにくくなったかもしれません 宜しくお願い致します
- ベストアンサー
- その他(プログラミング・開発)
- sushidokei
- 回答数4
- CSVが文字コードUTF-8かどうかの判定
かなりデータ量が多い(10万レコード超)CSVファイルが、100件近くあります。これをエクセルに取り込んで順次同じような作業をしようと思っています。とりあえずCSVを以下のコードで開いています。 Sub CSV入力4() 'クエリーテーブルを使ったCSV読み込みVBAコード Dim myFile As Variant myFile = Application.GetOpenFilename(FileFilter:="CSVファイル(*.csv),*.csv", Title:="CSVファイルの選択") If myFile = False Then Exit Sub End If ActiveSheet.Cells.Clear With ActiveSheet.QueryTables.Add(Connection:="text;" & myFile, Destination:=Range("A1")) ' .TextFilePlatform = 932 'Shift_Jis .TextFilePlatform = 65001 'UTF8 .TextFileCommaDelimiter = True .Refresh BackgroundQuery:=False .Delete End With MsgBox "読込完了" End Sub 問題は、CSVに拡張子で区別できないUTF-8のCSVファイルがあることです。事前にわかっていれば .TextFilePlatform = 932 'Shift_Jis .TextFilePlatform = 65001 'UTF8 の使い分けで対応できるのですが、開いてみて文字化けがあるかどうか調べないとわかりません。自動的に判定する方法はないでしょうか?
- ベストアンサー
- Excel(エクセル)
- emaxemax
- 回答数11
- Excel テーブルからフォーマットに値を抽出
Excelのデータテーブルからフォーマットに値を抽出して反映させるには。あるパトロール様式を作成しようとしています。 添付画像のようなイメージです。 ◇データテーブルのフィールド名と情報 PageNo. (パトロール記入シートのページ数 1日に1ページ) 日時 担当者 巡回時の注意点 ◇パトロールシートの様式 Sheet名をPageNo.の数字にし、データテーブルからINDEX関数で検索し、データテーブルにある日時・担当者・巡回時の注意点を抽出し反映させます。 このやり方で抽出は可能ですが、フォーマット(ここではパトロールシート)が巡回する日付分必要となり。操作が非常に重たくなり困っています。 印刷はPegeNo.のSheetを作業グループに選択して一括印刷しています。 VBAなどでPageNo.ごとの情報をフォーマットに反映させてページ一括でPDFや印刷プレビュー表示して印刷することは可能でしょうか。 現状のやり方でも印刷は可能ですが、動作が重くなり、途中でフリーズしてしまう場合があります。 詳しい方いましたらご教授ください。 よろしくお願いいたします。
- 締切済み
- Excel(エクセル)
- nadeko666
- 回答数2