■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#9376-0EXEのショートカットで匿名93762000-04-06(木) 03:51
     #9378-0RE#9376:EXEのショートカットでいなちゃん2000-04-06(木) 09:20
     #9404-0RE#9378:EXEのショートカットで匿名94042000-04-07(金) 12:48
     #9405-0RE#9404:EXEのショートカットでVIM2000-04-07(金) 12:52
     #9409-0RE#9404:EXEのショートカットでいなちゃん2000-04-07(金) 14:47
     #9411-0RE#9405:EXEのショートカットで匿名94112000-04-07(金) 15:44
     #9415-0RE#9409:EXEのショートカットで匿名94152000-04-07(金) 16:30
#9376-0
EXEのショートカットで
メニュー>ヘルプ>Redameという操作でRedame.txtを表示させたのですが、EXEを直接起動させた時は、
ちゃんと開くのですが、デスクトップにショートカットを作って、そこから起動した時は「Redame.txtは
見つかりません。」と出てしまいます。

Dim Redame
Redame = Shell("NotePad.exe" & "Redame.txt", vbNormalFocus)

というコードなのですが、どこがおかしいのでしょうか。教えて下さい。
(OS:Win95 VB6sp3)
#9378-0
RE#9376:EXEのショートカットで
> Redame = Shell("NotePad.exe" & "Redame.txt", vbNormalFocus)
カレントディレクトリが違うんですね。
ファイルを扱う場合はフルパスで指定しましょう。
EXEのパスはApp.Pathで取得できます。

> Dim Redame
ちゃんと型を指定しましょう。
RedameってもしかしてReadmeのこと?
#9404-0
RE#9378:EXEのショートカットで
返事が遅れて申し訳ありません。なかなか先に進んでいないもので。

> > Redame = Shell("NotePad.exe" & "Redame.txt", vbNormalFocus)
> カレントディレクトリが違うんですね。
> ファイルを扱う場合はフルパスで指定しましょう。
> EXEのパスはApp.Pathで取得できます。

NotePadだけなら、Shell("NotePad.exe", vbNormalFocus)で起動します。
Redame.txtをいれると上手くいきません。同じフォルダ内から実行する場合でも、フルパス指定しなくては
いけないのでしょうか。

> > Dim Redame
> ちゃんと型を指定しましょう。
> RedameってもしかしてReadmeのこと?

そうです。たぶん...そのRedameのことです。
#9405-0
RE#9404:EXEのショートカットで
> > > Redame = Shell("NotePad.exe" & "Redame.txt", vbNormalFocus)
> NotePadだけなら、Shell("NotePad.exe", vbNormalFocus)で起動します。
> Redame.txtをいれると上手くいきません。同じフォルダ内から実行する場合でも、フルパス指定しなくては
> いけないのでしょうか。

お約束の確認ですけど、
> "NotePad.exe" & "Redame.txt"
これ↑を
> "NotePad.exe" & Space$(1) & "Redame.txt"
このように、間にスペース入れてますか?
#9409-0
RE#9404:EXEのショートカットで
> NotePadだけなら、Shell("NotePad.exe", vbNormalFocus)で起動します。
メモ帳(NotePad.exe)はパスがとおったディレクトリ(\Windows)にあるので動くのです。

> Redame.txtをいれると上手くいきません。同じフォルダ内から実行する場合でも、フルパス指定しなくては
> いけないのでしょうか。
基本的には外部ファイルを扱う場合はフルパスを指定します。(EXEと同じフォルダでも)
この場合は「App.Path & "\Redame.txt」ですね。
ただし、App.Pathはルートディレクトリの場合とそれ以外の場合では戻り値がちょっと違うので注意。

> > カレントディレクトリが違うんですね。
この意味がわかっていますか?
カレントディレクトリとは、現在有効なフォルダのことで、
フルパスを指定していないファイルは、このフォルダ内のみで検索されます。
CurDir関数でそれぞれのパスを調べてみては?

あと、前回書き忘れたけど、
VIMさんの指摘の通りEXE名とファイル名の間にはスペースがないとダメです。

> > RedameってもしかしてReadmeのこと?
> そうです。たぶん...そのRedameのことです。
違ってるんだけど...
Readme(リードミー)です。説明等書いておくファイルのお約束の名前です。
#9411-0
RE#9405:EXEのショートカットで
> > > > Redame = Shell("NotePad.exe" & "Redame.txt", vbNormalFocus)
> > NotePadだけなら、Shell("NotePad.exe", vbNormalFocus)で起動します。
> > Redame.txtをいれると上手くいきません。同じフォルダ内から実行する場合でも、フルパス指定しなくては
> > いけないのでしょうか。
> 
> お約束の確認ですけど、
> > "NotePad.exe" & "Redame.txt"
> これ↑を
> > "NotePad.exe" & Space$(1) & "Redame.txt"
> このように、間にスペース入れてますか?

スペースは入れていませんでした。これを入れたら表示されました。
有り難うございました。
#9415-0
RE#9409:EXEのショートカットで
> > NotePadだけなら、Shell("NotePad.exe", vbNormalFocus)で起動します。
> メモ帳(NotePad.exe)はパスがとおったディレクトリ(\Windows)にあるので動くのです。
> 
> > Redame.txtをいれると上手くいきません。同じフォルダ内から実行する場合でも、フルパス指定しなくては
> > いけないのでしょうか。
> 基本的には外部ファイルを扱う場合はフルパスを指定します。(EXEと同じフォルダでも)
> この場合は「App.Path & "\Redame.txt」ですね。
> ただし、App.Pathはルートディレクトリの場合とそれ以外の場合では戻り値がちょっと違うので注意。
> 
> > > カレントディレクトリが違うんですね。
> この意味がわかっていますか?
> カレントディレクトリとは、現在有効なフォルダのことで、
> フルパスを指定していないファイルは、このフォルダ内のみで検索されます。
> CurDir関数でそれぞれのパスを調べてみては?

用語辞典で、「そのディレクトリの下のファイルを指定する時は、パス名を書かずにファイル名だけで
指定できる。」と書いてあったので。メーカーや機種などで、フォルダの場所が違う場合があるようなので
この、パスの取得が難しいです。悩みます。いろいろ調べてみます。

> あと、前回書き忘れたけど、
> VIMさんの指摘の通りEXE名とファイル名の間にはスペースがないとダメです。

スペースを入れただけで解決してしまいました。でも、まだ少し心配です。

> > > RedameってもしかしてReadmeのこと?
> > そうです。たぶん...そのRedameのことです。
> 違ってるんだけど...
> Readme(リードミー)です。説明等書いておくファイルのお約束の名前です。

スペルが違ってたんですね!! ずっと勘違いしてました。(^^;
有り難うございました。
このページと関連する記事:
#29561-0アクセスデータファイルを置くフォルダについて2002-06-24(月) 15:14
#4030-2ファイルを開くときフルパスでない指定の仕方2002-01-18(金) 14:58
#441-1バッチファイルについて2001-07-23(月) 17:03
#11187-0参照について2000-06-01(木) 11:23
#10561-0「実行時エラー'53':ファイルが見つかりません」と怒られる2000-08-14(月) 10:14
#41633-0Shell関数2001-04-12(木) 16:47
#17458-0VBの環境設定2001-08-29(水) 09:11
#9287-0コピーについて2000-06-30(金) 19:21
#657-3EXEの起動2001-10-29(月) 06:16
#20000-0ファイル名を変更する2001-04-03(火) 10:48
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)