VBA Dir関数で挫折(未解決)→1/26解決

こんにちは、たかまいです。
今日の勉強はいままでのコツコツのものとは違い、
職場で使いたいものを活用していく方向にシフトしました。
使用した本はこちら

わたしがVBAを本気で取り組もうと考えて購入した本です。
実務に応用できそうなないようで、すぐ活用できそうという理由で購入しました。
(すごい改善セミナーも参加しました(VBA)Excelは職場の許可が出ず今予定調整中)

今回行いたい作業はこちらです。
①弊社データーベースソフトより特定の顧客情報をCSV出力する。
②特定のフォルダに保存しそこからマクロ実行ブックを起動しそのCSVファイルを取り込む。
③CSVファイルのデータをマクロ実行ブック内会社指定計算書フォーマットに転記
(顧客データ一覧表から金額ごとに件数を分け計算書フォーマットに転記)
④転記後PDF保存。
⑤欲をいうと「お世話になっております。○月分の計算書を添付します」という本文を送信できるよう作成段階でなにかしらで作成できるようにしたい。(OUTLOOKではなくなったので自動転記は不可)
最低でも文言がクリップボードに登録される等の作業ができればしたい。

という作業を実行するにあたり、まずは指定フォルダのファイルを検索して
開ける作業が必要だと感じ、練習用マクロを作成しました・・・
がうまくいかない💦(特定フルパス指定だとファイルを開くことはできるようになったので、
自動化ツール一式をまとめるフォルダ構成を作りました。(本参照)
保存場所を調べる方法として
ThisWorkbook.Pathという書き方が必要ということがわかりました。
さらには開きたいブックも極力してしたくなかったため、
ブックの名前を調べることができるというDir関数で調べてみました。
そこで作ったコードがこちら

Sub 別のブックを開く()
Dim i As String
i = Dir(ThisWorkbook.Path & “\操作対象\*”)
Workbooks.Open Filename:=ThisWorkbook.Path & “\操作対象\” & i

End Sub

が、、、、
このエラー

1時間程度格闘しましたが解決せず・・・。

Openメソッドが違うとなるとググれば書いてありますが理解不能。
一度ブック名指定してみて実行

Sub 別のブックを開く()
Dim i As String
Workbooks.Open Filename:=ThisWorkbook.Path & “\操作対象\test.csv”
End Sub

これだとうまく開きましたよ💦ますます原因がわからない。
ただとりあえずこれを使用することで、CSVを開くことはできた。
次はそこからデータを取る方法だ!
少しずつ分解して成長していかなければ。
続きは明日予定。それでは。

追記1/27解決しました。

まさかのOneDriveの共有をいれてるとThisWorkbook.Pathが上手く働かないのだとか

びっくりしました💧💧今度からはそこにも気をつけなければ💧💧

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

VBAを身に着けたい運動指導者
ノンプロ研にはまっています

コメント

コメントする

目次
閉じる