コマンドを押して、VB6アプリケーションでファイルを開きたいとします。このファイルは、別のプログラムによって読み取られたファイルタイプです。私はそれを開くと、そのファイルタイプを見つけると自動的に開きますので、ファイルタイプを読み取るプログラムも開く必要があります。誰もがこれで私を助けることができるVB6(ちょうどそれを得た昨日)でnewbのようなものです。VB6から既定のプログラムでファイルを開く
答えて
私はあなたの要件の細部に迷っていますが、一般にVB6からファイルを起動するには、ShellExecute
とそれに関連するAPI関数を使用できます。
これについては、どこで参考になるか分かりませんが、hereを始めることができます。
編集:
もうすぐです。 ShellExecuteへの第2引数は関連していますあなたのマシン上のプログラムを使用して、指定されたファイルを開くには、「オープン」である必要があり
:私は変わっ何
Private Sub smb3_Click()
ShellExecute hWnd, "open", "C:\hi\my.file", vbNullString, vbNullString, SW_SHOWNORMAL
End Sub
注:これに
Private Sub smb3_Click()
ShellExecute hWnd, "find", "C:\hi\my.file", vbNullString, vbNullString, SW_SHOWNORMAL
End Sub
:これを変更オープンしようとしているファイルの拡張子(関数の第3引数)を指定します。私が含むリンクをチェックしてください。
あなたのマシン(およびあなたのプログラムを使用するマシン)を確認する必要があります。ファイル拡張子.fileは、プログラムで起動するプログラムに関連付ける必要があります。
編集(9月9日)
OKは、私たちが仕事をするShellExecute
のsimplist実装を取得する場合を見てみましょう。
新しいVB6プロジェクト(標準EXE)を作成し、Form1にsmb1という名前のボタンを1つ追加します。フォームのコードビューに
移動し、このコード(とのみ、このコード)をコピーして貼り付ける:フォルダ:
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Sub smb3_Click()
Debug.Print ShellExecute(hWnd, "open", "C:\hi\my.txt", vbNullString, vbNullString, 1)
End Sub
あなたの「\ハイC」のmy.txtというテキストファイルがありますことを確認してください。
プログラムを実行し、ボタンをクリックします。あなたのマシンで設定したデフォルトのテキストファイルエディタプログラム(メモ帳など)でテキストファイルを開きます。
エラーが表示され、エラーが発生した行を教えてください。また、イミディエイトウィンドウを確認します。イミディエイトウィンドウは、プログラムを起動するとすぐに表示され、プログラムが実行されている限り表示されます。コードがShellExecute
の行を越えて実行されると、イミディエイトウィンドウには、その関数への呼び出しが返されたコードが表示されます。これは、あなたの問題について多くのことを教えてくれるでしょう。
コードが動作する場合は、 "C:\ hi \ my.file"で作業するために必要なファイルを処理するようにプログラムを変更することができます。
しかし、まずWindowsエクスプローラでファイルをダブルクリックするとどうなりますか?ファイルが開くと、システムが.file拡張子を持つファイルに関連付けられたプログラムがあることがわかります。ファイルが開かない場合は、プログラムを.file拡張子に関連付ける必要があります。詳細については、Windowsヘルプを参照してください。設定が完了したら、テストプログラムでsmb3 Clickイベントのコードを変更します。
Debug.Print ShellExecute(hWnd, "open", "C:\hi\my.file", vbNullString, vbNullString, 1)
これを実行してプログラムをクリックします。ファイルが開きます。そうでない場合は、どのようなエラーが発生したのか、どこで、どのようなものがあるかをイミディエイトウィンドウに伝えてください。
プログラムが開いている場合は、ボタンのクリックイベントと、プログラムでファイルを開くために必要なコードShellExecute
の宣言があります。しかし、まだ変革があり、変革が必要です。
変更する必要があるのは、ボタンのクリックイベントです。あなたはShellExecute
への呼び出しを中心に扱ういくつかの基本的なエラーが関与すべきである
ShellExecute hWnd, "open", "C:\hi\my.file", vbNullString, vbNullString, 1
変更:あなたはこれで終わるように、我々は、デバッグコードを削除します。 ShellExecute
は実行時にコードを返します。このコードはエラーを示す可能性があります。上記リンク先のページでダウンロードできるサンプルプログラムを調べてください。その中でプログラマは、呼び出しの結果をresult
という変数に書き込みます。 result
が32以下の場合、これはエラーを示します。サンプルプログラムでは、エラーメッセージにエラーが表示されますが、何をしたいか考えてみてください。
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
は、コードの下に適用され、このコードを使用してdll
を登録
まず、このコードを使用してmy.ini
ファイルを開くには:_
Debug.Print ShellExecute(hWnd, "open", "C:\Program Files\MySQL\MySQL Server 5.0\my.ini", vbNullString, vbNullString, 1)
- 1. WP7 - 既定のアプリケーションでファイルを開く?
- 2. 指定したプログラムでコマンドラインからファイルを開く方法は?
- 3. 他のプログラムの設定ファイルを開く
- 4. VB6の既定のWinSockプロトコル
- 5. 特定のディスクからファイルを開く
- 6. 既に開いているVisual Studioでコマンドラインからファイルを開く方法は?
- 7. 既に使用中のファイルを開く
- 8. 特定のプログラムのファイルをPythonから開きます
- 9. 設定アプリ(iPhone)をプログラムで開く
- 10. プログラムの設定でアプリケーション権限ウィンドウをプログラムで開く方法
- 11. メールからファイルを開く
- 12. プレイブックアプリからファイルを開く
- 13. javaから.docx、.txt、.pptxのような既存のファイルを開く方法?
- 14. URLを既定のブラウザの代わりにIEで開く
- 15. Delphi:別のコンピュータからファイルを開く
- 16. Android:RealmのURLからjsonファイルを開く
- 17. どこからでも開く(ファイル)
- 18. Android:保存したファイルを既定のアプリケーションで開きます
- 19. ActiveXを使用してMatlabから既存のワークブックを開く
- 20. ASP.NETで電子メールを作成し、既定のメールプログラムで開き、既定のメールプログラムから送信します。
- 21. 既存のTkinterウィンドウからNetworkX Viewerを開く
- 22. Expression Webをプログラムで開く
- 23. ComboBoxドロップダウンをプログラムで開く
- 24. プログラムでPowerPointを開くダイアログ
- 25. ストーリーボード - プログラムでビューを開く
- 26. 特定のノードからイベントビューアを開く
- 27. apache chainsawで既存のログファイルを開く
- 28. WebブラウザからTIFFファイルを開く
- 29. javaからedrawingsviewerファイルを開く
- 30. iOSアプリケーションからPDFファイルを開く
を基本的に単にファイルを開くことになって私がボタンを押すと、私は助けにならないで、私は "サブまたは機能が定義されていません"というエラーを受け取ります –
私には難しいいくつかのコードを見なくても問題は何か。私はリンクして、サンプルをダウンロードするページの下部にスクロールすることをお勧めします。調査(特にcmdExecute_Clickイベント)し、必要な部分をプロジェクトに移動します。あなたはあまり動かす必要がないので、サンプル中の行数によって落胆しないでください。サンプルフォームの上部にある宣言を忘れないでください.ShellExecuteには少なくとも1つ必要です。 –
が、これは私のコードです: ます。Private Sub smb3_Click() のShellExecute hWndは、 "検索"、 "C:\こんにちは\ my.file"、_ vbNullString、vbNullString、SW_SHOWNORMAL End Subの –