解決済み

Vba質問の続きお願いします

  • 困ってます
  • 質問No.9590643
  • 閲覧数128
  • ありがとう数4
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 9% (20/207)

ドキュメントに移動するからドキュメントはCドライブ直下ではないから動かないのですね、ではどこに移動すれば構文を変えず済むのでしょうか、Cドライブそのものに移動してもだめでした。usbからusbは問題なしの理由も教えて下さい。
また、バックスラッシュを入れると¥マークになりますどのようにすれば良いか教えてくださるようお願い致します。
初心者で申し訳ありません。

質問者が選んだベストアンサー

  • 回答No.2

ベストアンサー率 59% (175/292)

Visual Basic カテゴリマスター
そのマクロが実行されるときに
もしカレントフォルダがC:¥以外になっていたとしても
"C:¥新規トレーニング.xlsm"
(※↑の¥は正しくは半角に読み替えてください。)
とすれば動作します。

なお、
ハードディスクのCドライブと
USBドライブのFドライブは
ドライブという意味では対等ですが
Cドライブに限って、
Cドライブの直下に直接ファイルを配置する場合
特別なセキュリティの制限を受けますので
通常は、
予めフォルダーを作成し、ファイルを配置する使い方をします。

その他の回答 (全2件)

  • 回答No.3

ベストアンサー率 59% (904/1507)

[技術者向] コンピューター カテゴリマスター
そもそもコードを変更せずに済ませようとしていることが間違っています。
例えば私が試した環境の中にはデフォルトのカレントフォルダがC:¥Windows¥system32になっている環境もありました。
C:¥Windows¥system32は管理者権限でExcelを実行していない限りファイルを作成できません。
つまり相対指定の(Cドライブ)場合、実行のたびにどこにファイルがある前提なのか変わるということです。

>ドキュメントに移動するからドキュメントはCドライブ直下ではないから動かないのですね
移動の記述がないので移動しません。
移動の記述をしたならドライブ違いは問題になりません。

>usbは問題なしの理由も教えて下さい。
C以外のドライブのフォルダは、そのアプリから開かない限り、ルートフォルダがデフォルトで、通常はシステムドライブ(C:)以外はルートフォルダへ誰もが書き込める権限設定にドライブのフォーマット時に設定されているからです。

>Workbooks Open Filename:="F:新規トレーニング.xlsm
この部分を
Set WshShell = CreateObject("WScript.Shell")
strDocuments = WshShell.SpecialFolders("MyDocuments")
filename = "新規トレーニング.xlsm"
filepath = strDocuments & "\" filename
if dirs(filepath) = "" then
msgbox filename & "がDocumentsフォルダにありません"
exit sub
end if
Workbooks.open filename:=filepath
と変えて、新規トレーニング.xlsmをドキュメントフォルダにコピーしておいてください。
  • 回答No.1

ベストアンサー率 48% (187/387)

他カテゴリのカテゴリマスター
https://okwave.jp/qa/q9589908.html
https://okwave.jp/qa/q9590390.html
の続きですね。
前の質問はほったらかしで変身もしないのはどういうことですか。
前の質問の返信に書けばいいことでしょう。質問をやり直す必要はありません。
それに、同じ内容で新しく質問するなら、前の質問は締め切るべきでしょう。

\ は¥になりますが、そのままコピペすればいいです。だだし、¥と入力する時は半角にして下さい。
ここは、半角の¥が\ になってしまうのです。
慣れている人なら、\ は半角¥の事だと分かります。
当たり前だと思っていたので、つい記述しませんでした。

ちなにみ、カレントフォルダは常に変化します。
エクセル起動直後は
C:\Users\ユーザー名\Documents
ファイルフォルダを指定しての読み込みや、保存をすれば、その場所に変化します。
フォルダを指定せずに読み込んだり、上書き保存をしても変化しません。
一定ではないので、フォルダの指定は必ず行って下さい。
指定方法は
https://okwave.jp/qa/q9589908.html
の私の回答です。

イミディエイトで
? curdir
と入力しEnter でカレントフォルダが出てきます。
お礼コメント
vanpire99

お礼率 9% (20/207)

節操無く大変申し訳ありません、恥ずかしいかぎりです
ご指摘を含めて大変有難うございます。
投稿日時 - 2019-02-23 12:58:38
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集

ピックアップ

ページ先頭へ