VS2012のVBでコードを書きはじめました。OSはWin7(x32) 日本語です。
ファイルを呼び出そうと思っても呼べずに困っています。
FileName = "c:\textfile.txt"
ret = LoadFile(FileName)
としたときに、”textfile.txt“にアクセスできないのは、デバッグモードで実行したときに”\”がバックスラッシュとして扱われているからではないかと疑っています。
原因を探っていくうちに下記を疑い始めました。
Dim FileName As String
FileName = "\"
として、デバッグモードでFileNameの値を見ると円マークではなくバックスラッシュになっています。
しかし、FileNameの値をテキストボックスに出力させると円マークです。
(1)このような状態でもパス名に問題は無いのでしょうか
⇒どちらも同じASCIIコード92だから、内部で92を渡すだけだから問題ない?
(2)Visual studio内でキーボードを選択する部分があるのでしょうか?
No.5ベストアンサー
- 回答日時:
> 3台のPCで試してみました
いやだから円マークとバックスラッシュは無関係だって。
デスクトップ等へアクセスする際のパスが間違っている。
またはアクセス権の問題。
プログラムを実行しているユーザーではなく、同じ PC 内の他人のデスクトップへアクセスしようとしているんじゃなければ、私は限りなく前者だと思っている。
Windows 7 環境で動かないっていうケースで、実際にどんなパスでためしているのでしょうか。
プログラムの中に直接パスを記述しているのでしょうか。
一般的に特殊フォルダーへアクセスする際は下記のような手法でパスを組み立てます。
http://dobon.net/vb/dotnet/file/getfolderpath.html
何度もすみません。バックスラッシュの件ありがとうございます。おっしゃるとおりでした。
おっしゃるとおりアクセス権を疑っていますが、ファイル側にも現在ログインしているユーザーのアカウントでアクセス権はありますし、ためしにアドミニを有効にしてログインしなおしてみましたがやはりダメでした。
パス名は試しに直接打ち込んで見ましたがやはりダメです。
FileName = "C:\Users\(ユーザー名)\Desktop\Child\(ファイル名)"
リンク先にあった関数で取得してみても、デバッグモードで"FileName"の値を見る限り同じパス名になりますが、やはりファイルにアクセスできません。
FileName = System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
FileName = FileName + "\Child\(ファイル名)"
ずっとXPでアクセス権なんて考えずにやってきたので、何が分かっていないのかも分かっていないみたいです。
No.4
- 回答日時:
> 実際にはファイルの場所はデスクトップです。
デスクトップの場所は、WindowsXPとWindows7で異なりますが、その点は影響ありませんか?
ちなみに、回答3はVBでは関係ないです。
この回答への補足
3台のPCで試してみました
VS2012ProのVB@Win7(x32)
FileNameのテキスト出力:\は\
FileNameのデバッグモードでの値確認:\はバックスラッシュ
×ファイルが読めない
VS2008ExpressのVB@Win7(x64)
FileNameのテキスト出力:\は\
FileNameのデバッグモードでの値確認:\は\
×ファイルが読めない
VS2008ProのVB@WinXP(x32)
FileNameのテキスト出力:\は\
FileNameのデバッグモードでの値確認:\は\
○ファイルは読める
やはりOSのせいかなという感じです。
再度ご回答ありがとうございます。パス名はフルパスを直接打ち込んでも試しています。XPでは”デスクトップ”というのが2バイト文字なので文字数のカウントで問題になってMyDocumentsに移しましたが、Win7では”desktop”なので問題ないはずで。アクセス権の問題化と思ってWin7では”desktop”やdocumentsなどいろいろな場所にファイルをおいてみましたがうまくいきません。
でもたぶんWin7というOSに関係する何かだと思って調べています。
No.3
- 回答日時:
エスケープシーケンス
文字列中にバックスラッシュを入れたいときは\を2つ続けます
FileName = "c:\\textfile.txt"
Visual Studioだからということではありません
No.1
- 回答日時:
U+005CがREVERSE SOLIDUSで表示されるか,U+00A5の如くYEN SIGNで表示されるかは,単にフォントの問題です。
私はConsolasをテキストエディタのフォントに指定しているので,U+005CはREVERSE SOLIDUSで表示されます。
ファイルにアクセスできないのであれば,通常IOExceptionが発生すると思いますが,例外のメッセージなどは出ていないのですか。
ご回答ありがとうございます。
例外というか、ファイルを読み込む関数をdllから呼んでいるのですが、そいつが"-1"(読めませんでした)という値を返してきます。それ以上の理由がわかりません。
ちなみに同じコードをVB2008@WinXP(x32)で動かしたら問題なく動きます。そちらでは¥は常に¥で表示されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
エクセルVBAでパスの¥マークについて
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでの共有パスにつきまして
-
エクセルのマクロで特定フォル...
-
VBS パスに変数を入れたい
-
1行単位のデータをテキストファ...
-
EXCEL(VBA)で指定フォルダ内の...
-
Shell関数内で変数を使うことに...
-
実行ファイルのパスを取得したい
-
C++でネットワークパスのファイ...
-
エクセルVBAで複数の変数に、パ...
-
エクセルのファイルオープン時...
-
エクセルマクロでファイル名の...
-
エクセルVBAで一つ上の階層...
-
AccessからExcel最小化
-
Cの関数で自分自身のパス取得
-
C言語でフルパスのファイル読み...
-
VB.NETでのiniファイル読込につ...
-
file://について
-
Eclipse
-
ファイルのアクセス回数について
-
エクセルで複数のコメントのサ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
Excel 相対パス
-
エクセルVBAで一つ上の階層...
-
エクセルのマクロで特定フォル...
-
xcopyコマンドの進行状況を表示...
-
ExcelVBAの使い方 ¥の使い方...
-
EXCEL(VBA)で指定フォルダ内の...
-
【VBA】ExcelマクロでCSVファイ...
-
【VB.NET】App.configにファイ...
-
VBA★PDFをPDFアプリで印刷し...
-
ExcelのVBAで上書き保存を確...
-
VBAでパワーシェルを実行したい...
-
SaveAsの保存先について
-
outlook開けない
-
Eclipse
-
C#でのProcess.Startと変数path
-
開いているファイルを削除し、...
-
A列に記載されているフォルダ...
-
コマンドプロンプトのコピー関...
-
【VBA】複数のtxtファイルから...
おすすめ情報