質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

888閲覧

フォルダ名指定してvbaにてexcelのフォルダ指定して読み込ませたいのですがファイル名がデフォルトでフォルダ名になる場合があり理由と解決方法を知りたい

ma2hiro

総合スコア159

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/12/16 02:28

編集2021/12/16 02:30

お世話になっております。
excel2016を使用しております。

B3のexcelフォルダのexcelをB2に記載するというVBAを組みたいと思い
https://excel-ubara.com/excelvba1/EXCELVBA376.html
を参考に下記のように作成しました……

vba

1 2Public Sub btnGetFilePath_Click() 3 4Dim fPath As Variant 5Dim ws As Worksheet 6Set ws = Worksheets("Sheet1") 7 8 With Application.FileDialog(msoFileDialogOpen) 9 .Filters.Clear 10' .Filters.Add "Excel2003", "*.xls" 11 .Filters.Add "Excelファイル", "*.xlsx" 12' .Filters.Add "Excelマクロ有効", "*.xlsm" 13 .InitialFileName = range("B3").Value 14 .AllowMultiSelect = False 15 If .Show = True Then 16 fPath = .SelectedItems(1) 17 ws.Cells(1, 2).Value = fPath 18 End If 19 End With 20End Sub

普通に出来てる場合もあるのですが

excel

1excelA→ 2excelB→ 3    C:\期+1と式コピー前

とB3に”C:\期+1と式コピー前”
とある場合だと文字コードでなんか変なキャラクターが入っているのか
F5で実行すると”ファイル名”に”期+1と式コピー前”とデフォルト値で入ってしまいます……

デフォルト値を空白にするとの指定はどのようにするのか伺ってよろしいでしょうか?
また”期+1と式コピー前”では何故このような事案が起こるのか伺ってよろしいでしょうか?

お忙しい所大変申し訳ないのですが何か情報をお持ちな方はコメント頂けますと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

.InitialFileName = range("B3").Value
で代入してるから、そりゃ入るんじゃないですか?

投稿2021/12/16 02:51

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/12/16 03:01

ちょっと質問文からは読み取れなかったけど、 "C:\期+1と式コピー前" がフォルダ名であって、 ファイル名が入っていないから空白にしたいという事であれば、 "C:\期+1と式コピー前\" なら空白になるんじゃないですかね。
ma2hiro

2021/12/16 03:04

あ…… 仰る通りですね…… 大変失礼しました。 .InitaileFileNameで指定しているから違うのでフォルダ指定は……と思って .InitialView = range("B3").Value としても .Parent = range("B3").Value しても指定のフォルダが開いてくれないのです…… もしかして指定のフォルダ内のexcelを指定する方法は FileDialogオブジェクト では出来ないのでしょうか? ご助力頂けますようお願い申し上げます。
ma2hiro

2021/12/16 03:48

グーグルで調べると 【EXCEL VBA】フォルダ選択ダイアログの初期フォルダを指定したい | EXCEL VBA 研究所(入門) https://vba-labo.rs-techdev.com/archives/1357 やっぱりそのフォルダ指定は.InitaileFileNameのようなのです……(+_+)
退会済みユーザー

退会済みユーザー

2021/12/16 04:09 編集

InitaileFileName で、きちんとフォルダ変わりますよ。 英数記号の全角半角違ってたりして、実際に存在しないフォルダを指定してるんじゃないですか? とりあえず質問とは別件のようですので、空白の問題が解決してるならクローズしてください。
ma2hiro

2021/12/16 04:09

そう思って ```excel excelA→ excelB→     C:\期+1と式コピー前 ``` でやってみたけど駄目なのです……(T_T)
退会済みユーザー

退会済みユーザー

2021/12/16 04:13

一応、こちらで同じフォルダ名でフォルダを作成して、"C:\期+1と式コピー前\" で当該フォルダに変更されるのは確認しました。それでも変わらないという事であれば、別PCがあれば試してみて、別PCでは出来るなら、そちらの環境的な問題でしょう。
ma2hiro

2021/12/16 04:15

radian様 コメントありがとうございます。 仰る通り今使用しているPCは不安定なので環境かも知れませんね…… 他のPCで試せるのならば試してみます。 本当にありがとうございました。
退会済みユーザー

退会済みユーザー

2021/12/16 04:30 編集

結局、空白にならない問題は解決したのでしょうか? 初期フォルダが変わらないのは質問文の内容とは別件のようですので、空白の問題が解決してるなら質問をクローズして、別に質問を建ててください。
ma2hiro

2021/12/16 04:31

仰る通り 空白の問題は解決しましたのでクローズとさせて頂きます。 この度はありがとうございました。
bebebe_

2021/12/16 04:45

1文字だけのフォルダを用意してセルでそのパスを指定したり .InitialFileName = に直接パスを指定するなどしてまずはInitialFileNameの動作の問題なのか指定に問題があるかを調べたほうがいいのではないでしょうか
ma2hiro

2021/12/16 04:47

bebebe_さん 仰る通りですね…… ちょっと年末でドタバタしているので時間が出来ましたら調べてみます。 (そのため未解決状態にしておきたかったのです……)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問