- 締切済み
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ドライブ)デバッグで動かない 何故こうなるのでしょうか、ご教授お願いいたします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- chayamati
- ベストアンサー率41% (260/624)
こんにちは、回答No.4です 私のPCはWindows10ですがドキュメントは「C:\ユーザー\ユーザ名」にあります。 ----------------------------------------------------------------- >Workbooks Open Filename:="F:新規トレーニング.xlsm" これを Workbooks Open Filename:="C:\ユーザー\ユーザ名\ドキュメント\新規トレーニング.xlsm として下さい
- chayamati
- ベストアンサー率41% (260/624)
回答No.1,2の方同じことを指摘されています。 じっくり読み直してください >ところがPCのCドライブのドキュメントへ(FドライブUSBを作ったPC)へコピー(移動) このQの「のドキュメント」外して ところがPCのCドライブへ(FドライブUSBを作ったPC)へコピー(移動) と質問できるようにコピーして下さい
質問文の Workbooks Open Filenameに"."が抜けていたり、Worsheets("新規").selectの"k"が抜けていたりするようです。テキストのコピー、貼り付けを使えば間違いもなく簡単です。 https://www.sony.jp/support/vaio/beginner/school/shortcut/01.html まず半角の"¥"と”\"ですが、表示する文字コードシステムによってどちらかが表示されますが、コンピュータから見ると同じ文字です。というのは、ASCIIコードを最初に見た日本人が、バックスラッシュなんか要らないから円記号にしたほうが便利だ、とバックスラッシュのコードで円記号を表示するように決めました。つまり、半角で¥と打ったのにバックスラッシュになった、というのはコンピュータにとっては同じ文字なので問題ありません。これが¥に見えるのは日本御システムだけです。国際語化されたunicodeのシステムではバックスラッシュに見えます。 https://social.technet.microsoft.com/Forums/ja-JP/fc2bcf92-05f2-43dd-8047-c77f7be1294d/windows101239112398c124891252112452125021245012463124751247327177?forum=win10itprogeneralJP ところで今のWindowsではCドライブのルートに編集するファイルを置きません。ドキュメントフォルダでもデスクトップでも好きな場所に置いて、それがCドライブのどこなのか、そのファイルを右クリックしてプロパティを見て場所を知り、その場所をアクセスすればいいです。たとえば私のパソコンのドキュメントフォルダを右クリックしてプロパティを見ると C:\Users\toshi と書いてあります。ここにtest.txtを置いたなら、 C:\Users\toshi\test.txt というわけです。いま私のパソコンで見ると\がバックスラッシュに見えますが、これをメモ帳にコピーするとちゃんと円記号に見えますよ。
- mt2015
- ベストアンサー率49% (258/524)
マイドキュメントはCドライブ直下じゃないですから C:\新規トレーニング.xlsm にはブックがありません。 自ブックと同じフォルダのブックを対象にするならThisworkbook.path を使った方が良いです。 Sub 新規トレーニングへ() Workbooks.Open Filename:=ThisWorkbook.Path & "\新規トレーニング.xlsm" Worksheets("新規").Select End Sub
- watabe007
- ベストアンサー率62% (476/760)
>ところがPCのCドライブのドキュメントへ ドキュメントにコピーしたのなら sub 新規トレーニングへ() Dim myPath As String myPath = CreateObject("WScript.Shell").SpecialFolders("MyDocuments") Workbooks.Open Filename:=myPath & "\新規トレーニング.xlsm" Worsheets("新規").select End Sub