
フォルダーの中に特定ファイルを開くの続きですが
次の命令を書きましたが実行できないです。間違った所を教えてほしいです
見積番号とはフォームの中のテキストボックスです。それをクリックする関連するエクセルファイルが開くようにしたいですのでよろしくお願いします。
Private Sub 見積番号_Click()
Dim LngRet As Long
Dim stLinkCriteria As String
Dim Ipath As String
Ipath = "\\C:\全社員共通\[見積書]\見積\"
stLinkCriteria = Ipath & "\" & 見積番号 & "*.xls"
LngRet = ShellExecute(0, vbNullString, Ipath & stLinkCriteria, _
vbNullString, vbNullString, 1)
End Sub
No.7ベストアンサー
- 回答日時:
何か回りくどい事をされている様な気も?
ファイルの『検索』と『開くこと』は、全く別次元のお話です。
>今まで保存したファイル名は"見積番号-月 工事名所"
の具体例を数個挙げてもらえますか?
差し障りが有るなら工事名は適当に変えてください。
またExcelファイルの見積番号の部分で重複するファイルがあるのでしょうか?
もし一個だけならこんな風かと
Private Sub 見積番号_Click()
Dim Ipath As String
Ipath = "C:\全社員共通\[見積書]\見積\"
if dir(Ipath & me!見積番号 & "*.xls") = "" then
msgbox "見つかりません"
exit sub
Ipath = Ipath & dir(Inpath & me!見積番号 & "*.xls")
'debug.print Ipath
createobject("shell.application").shellexecute Ipath
End Sub
この回答への補足
ファイル名は下のようにつけます。
"21000-10 据付工事"。
見積番号部分は一つしかないです。月と名称が変わるのです。
それとIf関数はEND IFが必要ですよね。どこに書けばいいですか?
VBAがまったく分かりませんのでよろしくお願いします。
No.9
- 回答日時:
もうひとつ質問を立ち上げられていますね。
そちらで続きを行いたいと思います。(こっちは閉じてね)
なお、あちらでも述べましたが、OS と Access のバージョンを明記のこと。
さて、どうしたら一番使いやすいかなと思案中。
No.6
- 回答日時:
なぜ唐突にWindows API のShellExecuteが出てくるのだろう?
どこかから拾ってきたものの訳も分からず・・だろうと推測しますが・・。
API は強力ですが、薬にも毒(突然のシャットダウン等)にもなりますよ。
こんな風ではいかが
Private Sub 見積番号_Click()
Dim LngRet As Long
Dim stLinkCriteria As String
Dim Ipath As String
Ipath = "C:\全社員共通\[見積書]\見積\"
stLinkCriteria = Ipath & me!見積番号 & ".xls"
debug.print stLinkCriteria
createobject("shell.application").shellexecute stLinkCriteria
End Sub
見積もりのXLSファイルはどこに置いてあるのだろう???
ファイルサーバならそのサーバ名が分からんとね。
この回答への補足
ご回答ありがとうございます。
これでXLSファイルを開けましたが今まで保存したファイル名は"見積番号-月 工事名所"という風にしましたので見積番号でそのファイルを曖昧検索でしたいですがうまく行けなくて教えて頂きたいです。
下のようにしましたが検索できないかったです。
stLinkCriteria = Ipath & me!見積番号 & " " & ".xls"
No.5
- 回答日時:
ほかの質問と重なりますが、
EXCELを開くこと
と
テキストボックスの値でファイル名を構成すること
と
まずは、ファイルはBOOK1.XLS固定にするとか、分けて考えた方がよいのでは?。
ファイルを開く記載はSUB関数にして、ファイル名を与えるとか、です。
参考になりそうなもの、キーワードで探してみると良い。回答全部書くと長いかも、です。
No.4
- 回答日時:
なぜShellExecuteを。
。。?Excelオブジェクトを使ったほうが簡単かも
--
Dim obj As Object
Set obj = CreateObject("Excel.Application")
obj.Visible = True
stLinkCriteria = "C:\全社員共通\見積書\見積\見積番号.xls"
'ファイルを開く
obj.Workbooks.Open FileName:=stLinkCriteria
No.3
- 回答日時:
msdnより
HINSTANCE ShellExecute(
HWND hwnd, // 親ウィンドウのハンドル
LPCTSTR lpVerb, // 操作
LPCTSTR lpFile, // 操作対象のファイル
LPCTSTR lpParameters, // 操作のパラメータ
LPCTSTR lpDirectory, // 既定のディレクトリ
INT nShowCmd // 表示状態
);
ShellExecute(hwnd , vbNullString, "見積番号.xls", _
vbNullString, "C:\全社員共通\見積書\見積\", 1)
この回答への補足
ACCESSの初心者ですのでできるだけ全部の命令を書いていただけますか?
せっかく回答していただきましたが全く分かりません。
よろしくお願いします。
No.2
- 回答日時:
Ipath & stLinkCriteria
これじゃないですか?
ちなみにstLinkCriteriaも違っています。
\\C:\全社員共通\[見積書]\見積\\見積番号*.xls
この回答への補足
回答ありがとうございます。ですがまだわからくて、とりあえず下のように変わったんですがまだうまくいってないです
Private Sub 見積番号_Click()
Dim LngRet As Long
Dim stLinkCriteria As String
stLinkCriteria = "\\C:\全社員共通\[見積書]\見積\\見積番号*.xls"
LngRet = ShellExecute(0, vbNullString, "見積番号"& stLinkCriteria, _
vbNullString, vbNullString, 1)
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
見積内容などに了承してもらう...
-
仕入先から見積書をもらったの...
-
金型の数え方
-
上司から「これExcelで打ち出し...
-
見積書の「不良率」、「利管費...
-
上司から業者から出た見積を0.7...
-
見積書の番号
-
見積書、受注書、契約書、に「...
-
お見積もりとご見積もり
-
1年前の日付で見積書を発行して...
-
2社から同じ見積り依頼が来た...
-
P/Iとは何の略?
-
複数の業者に見積もりを出して...
-
見積仕様書の書式について
-
見積書の製本方法
-
見積書の発行日時変更は一般的...
-
アクセス 削除するレコードを含...
-
見積もりを断る返事は出すもの...
-
見積書の有効期限について
-
エクセルで複数シート合計
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
仕入先から見積書をもらったの...
-
見積内容などに了承してもらう...
-
上司から「これExcelで打ち出し...
-
見積書、受注書、契約書、に「...
-
金型の数え方
-
見積もりを断る返事は出すもの...
-
上司から業者から出た見積を0.7...
-
2社から同じ見積り依頼が来た...
-
見積書の「不良率」、「利管費...
-
1年前の日付で見積書を発行して...
-
お見積もりとご見積もり
-
他社の見積もりを代筆するのは...
-
見積書の発行日時変更は一般的...
-
相見積もりについて教えて下さ...
-
見積仕様書の書式について
-
見積書をエクセルで作成時に連...
-
複数の業者に見積もりを出して...
-
ビジネスに詳しいかた教えてく...
-
見積書の番号
-
P/Iとは何の略?
おすすめ情報