• ベストアンサー

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

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

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (454/690)
回答No.2

そのマクロが実行されるときに もしカレントフォルダがC:¥以外になっていたとしても "C:¥新規トレーニング.xlsm" (※↑の¥は正しくは半角に読み替えてください。) とすれば動作します。 なお、 ハードディスクのCドライブと USBドライブのFドライブは ドライブという意味では対等ですが Cドライブに限って、 Cドライブの直下に直接ファイルを配置する場合 特別なセキュリティの制限を受けますので 通常は、 予めフォルダーを作成し、ファイルを配置する使い方をします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • unokwave
  • ベストアンサー率58% (966/1654)
回答No.3

そもそもコードを変更せずに済ませようとしていることが間違っています。 例えば私が試した環境の中にはデフォルトのカレントフォルダが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をドキュメントフォルダにコピーしておいてください。

全文を見る
すると、全ての回答が全文表示されます。
  • SI299792
  • ベストアンサー率48% (712/1469)
回答No.1

https://okwave.jp/qa/q9589908.html https://okwave.jp/qa/q9590390.html の続きですね。 前の質問はほったらかしで変身もしないのはどういうことですか。 前の質問の返信に書けばいいことでしょう。質問をやり直す必要はありません。 それに、同じ内容で新しく質問するなら、前の質問は締め切るべきでしょう。 \ は¥になりますが、そのままコピペすればいいです。だだし、¥と入力する時は半角にして下さい。 ここは、半角の¥が\ になってしまうのです。 慣れている人なら、\ は半角¥の事だと分かります。 当たり前だと思っていたので、つい記述しませんでした。 ちなにみ、カレントフォルダは常に変化します。 エクセル起動直後は C:\Users\ユーザー名\Documents ファイルフォルダを指定しての読み込みや、保存をすれば、その場所に変化します。 フォルダを指定せずに読み込んだり、上書き保存をしても変化しません。 一定ではないので、フォルダの指定は必ず行って下さい。 指定方法は https://okwave.jp/qa/q9589908.html の私の回答です。 イミディエイトで ? curdir と入力しEnter でカレントフォルダが出てきます。

vanpire99
質問者

お礼

節操無く大変申し訳ありません、恥ずかしいかぎりです ご指摘を含めて大変有難うございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • EXCEL VBA何故こうなるのでしょうか

    宜しくお願いいたします アクティブになっていない同じファイルにある WORKBOOKを開く構文として sub 新規トレーニングへ() Workbooks Open Filename:="F:新規トレーニング.xlsm" Worsheets("新規").select End Sub Private ub CommandButton1_cilck() 新規トレーニングへ End Sub をUSBにFドライブに作成して問題なく動いています そこで他のUSB Hドライブへコピー(移動)して(構文のFをHへ書き込み訂正)HドライブのUSBでは問題なく動いています ここが質問です ところがPCのCドライブのドキュメントへ(FドライブUSBを作ったPC)へコピー(移動)すると(同様に構文のFをCへ書き込み訂正) Workbooks Open Filename:="F:新規トレーニング.xlsm" がデバッグで黄色い色が付き動かないのです。 USB(Fドライブ)からUSB(Hドライブ)は問題なし USB(Fドライブ)からPC(Cドライブ)デバッグで動かない 何故こうなるのでしょうか、ご教授お願いいたします。

  • エクセルVBA教えてください

    sub 新規トレーニングへ() Workbooks Open Filename:="F:新規トレーニング.xlsm Worksheets("新規2").Select End Sub Private ub CommandButton1_click() 新規トレーニングへ End Sub アクティブでないbookをボタンで開くようにしています こんな構文でUSBで作成して問題無く動いています が他のPCへ移動してドライブをCに変えたところ Workbooks Open Filename:="F:新規トレーニング.xlsmが黄色で この部分にデバッグです 移動してドライブをCに変えただけではVBAではダメなのでしょうか 何故だめ?なのと解決方法を教えてくださると有り難いのです それとも初めからCドライブで作り直しなのでしょうか 宜しくお願いいたします。

  • Windows7でのフォルダリダイレクト

    Cドライブ直下のユーザーフォルダ内の”ダウンロード”フォルダをリダイレクトでDドライブに移行しようと試しておりました。 Dドライブ直下に”Documents”を作成しリダイレクトを行った所、なぜかDドライブ直下に”ダウンロード”が移動され、”Documents”フォルダが無くなっておりました。 元に戻そうとCドライブのユーザーフォルダを指定しリダイレクトをした所、Cドライブ直下のユーザーフォルダが”ダウンロード”と名前が書き変わり、またダウンロードデータも元ユーザーフォルダ直下に保存される状態です。 上記を元に戻したいのですが、どなたかご教授いただけませんでしょうか。 よろしくお願いいたします。

  • xcodeで改行が。。

    xcodeを使ってCプログラミングをしているのですが、改行の時に?nと打つとそのまま?nと表示されてしまいます。バックスラッシュを他のページからコピペしてくると改行できるのですが、はじめから?nで改行できるようにするか,バックスラッシュを打てるようにするにはどうしたら良いのでしょうか?? OSは10.3を使っています。 ↑文中のはてなマークは円マークです。

    • ベストアンサー
    • Mac
  • windowsのapacheのhttpd.conf

    windowsのapacheのhttpd.confの書き方についての質問です。 通常windows(私は7です)にapacheをインストールすると httpd.confには DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" と書かれていますが、前述の質問の回答で LINUXがOSの場合、スラッシュ→「?」は有効だが windowsがOSの場合バックスラッシュ→「\」に置き換えなければならない、 と私は解釈したのですが、 では、デフォルトの DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" でApacheが正常に稼働しているようなのですが、 これって/を使ってますよね? これって、windowsがOSの場合の\のルールに反しているのに、 localhostと入力すると、it worksのhtmlが参照されるのは何故なんでしょうか? そして これを"C:\www"とCドライブの直下に置くことが出来るみたいなんですが、 ドキュメントルートの変更で\を使っても私の環境下では DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" と同じで、この中のhtmlは読んでしまうのは何故なんでしょうか? 長文、駄文、失礼いたしました。 何分超初心者の身なので、詳しい方は「?何いってやがんだ…質問の趣旨がわからん」 と思われるかもしれませんが、拙い表現になってしまうのはお許しください。

  • Accessレポートでのマークの表示

    申し訳ありません 初歩的なことかもしれませんが教えてください。 Accessのレポートで半角の¥マークを表示したいのですが バックスラッシュに変わってしまいます。 ¥マークのまま表示させる方法はないのでしょうか? お願いいたします。 ACCESSのバージョンは2007になります。

  • CドライブとDドライブの使い分けについて・・・

    Vistaです。 現在、Cドライブ(約200G)にドキュメントやお気に入りや音楽などの大事なデータが保存されています。Dドライブ(約80G)には録画した番組などが入っています。 ドキュメントなどのデータはDドライブに入れたほうが良いと聞き、 ドキュメントなどをCドライブからDドライブに、録画番組をDドライブからCドライブに移動したいと思います。 とりあえず、ドキュメントを『プロパティ→場所→移動→D』でドキュメントのフォルダを作って移動させました。 (1)Dドライブを開くといきなりドキュメントが現れるのですが、普通こうするものなのでしょうか? Cドライブはユーザーフォルダの中にあったので・・・。 それから、ピクチャを移動する際に、Dドライブにフォルダを作り忘れて移動させてしまい、後からフォルダを作って中に移動したら、アイコンが青っぽい専用のアイコンではなく、黄色の普通のフォルダのアイコンになってしまいました。たぶん、フォルダを『Dドライブ』として認識しているのだと思います。 (2)これを、Dドライブの中の『ピクチャ』として認識させるにはどうすればいいのでしょうか? スタートからドキュメントを開くと既にDドライブに飛んでくれるのに、ピクチャだけ『D:』と表示されてしまっています。 以上2点、よろしくお願いします。 分かりにくい説明で申し訳ありません。

  • 「パス名が長すぎます」

    外付けHDD不調のため、外付けから内蔵にデータを移動しようと思っています。 外付けHDD内のフォルダを表示して、 内蔵へドラック&ドロップや切取・貼付を試みるも 「パス名が長すぎます」というエラーで 移動できません。 ファイル名は、短いものにしました。 (たとえば01とか04とかです) 外付けHDDフォルダ直下から、 Cドライブ直下やDドライブ直下に移動するも 改善なしです。 外付け装置の故障による不具合なのでしょうか? もし可能であれば、データを少しでも残したいので いいアイデアをご享受ください!!!! お願いします

  • ドライブの容量

    ドキュメントをcからdドライブに移動したのですが、なぜかdドライブに同じ ドキュメントができるだけで、cドライブのほうから消えません。 容量もcは減らずに、dが増えるだけです。 どうすればいいのでしょうか? ピクチャはちゃんと移動できたのですが・・・・。

  • VISTAのドキュメントフォルダーをDドライブへ移動したのですが

    VISTAのドキュメントフォルダーをDドライブへ移動したのですが・・・ Windows Vista搭載パソコンを利用しており、CドライブにあったドキュメントやミュージックをDドライブに移動させたいと思っています。 ドキュメントのプロパティーの「場所」タグから入り、「元の場所の全てのファイルを、新し場所に移動する。」を指定して実行しました。 ドキュメントはDドライブに移動出来、Cドライブの容量も増えたのですが、Cドライブにもドキュメントが内容も同じ形で残っています。 そこで、以下の点教えていただきたく・・ 1)CドライブのドキュメントフォルダーはDドライブへのリンクのようですが、Cにも残るというこの結果は正常なのでしょうか? 2)Cドライブのドキュメントは削除可能でしょうか? 3)ファイルをドキュメントフォルダーへ保存する場合C,Dどちらを対象にすればよいのでしょうか? 詳しい方がいらっしゃいましたら、ご回答よろしくお願い致します。

このQ&Aのポイント
  • 2021年には高齢者雇用給付金が出ていますが、2025年には廃止されてしまいます。企業は高齢者を正規の値段で雇わないといけなくなるため、大不況に陥る可能性があります。
  • 2025年を最後に大恐慌時代に突入すると予想されています。企業の体力が不足しているため、雇用機会が減少する可能性があります。
  • 日本円に資産を保有している場合、2025年前の不況に備えて他の通貨に投資することを考えるべきです。具体的なアドバイスについては専門家に相談することをおすすめします。
回答を見る

専門家に質問してみよう