タイトル | 拡張子で関連付けされているアプリケーションで開く |
対象言語 | VB4.0, Access95以降 |
動作確認OS | Windows95,98,NT4.0 |
使用関数 | ShellExecute |
改築日 | 1999/04/14(1998/01/05) |
Source Download |
拡張子で関連付けされているアプリケーションで ファイルを開きます。 ShellExecute の第2引数の実行コマンドは、各拡張子 によって種類があります。レジストリHKEY_CLASSES_ROOT 内を参照してください。 Windows95からは ShellExecuteEx API関数があります。 こちらの関数の方が多機能です。 |
![]() |
1. フォームを作成し、リストボックス(Text1)とコマンドボタン(Command1)を貼り付けてください。 Option Explicit Private Sub Command1_Click() Call Y_Exec(Me.hWnd, Me!Text1, "", "", SW_SHOWNORMAL) End Sub |
3.モジュールウインドウを作成し、下のソースを入力してください。 Option Explicit 'ファイルを拡張子に関連付けされているアプリケーションで開く 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 Public Const SW_SHOWNORMAL = 1 '通常ウインドウ Public Const SW_SHOWMINIMIZED = 2 '最小化 Public Const SW_SHOWMAXIMIZED = 3 '最大化 Public Const ERROR_FILE_NOT_FOUND = 2& 'ファイルが見つからない Public Const ERROR_PATH_NOT_FOUND = 3& 'パス名が見つからない Public Const ERROR_BAD_FORMAT = 11& 'Win32用EXEではないか EXE内にエラーがある Public Sub Y_Exec(hWnd As Long, FilePath As String, parameter As String, WorkPath As String, WindowSize As Long) '******************************************************************* '機能 : ShellExecute関数を呼び出し、ファイルを関連付けされている ' アプリケーションで開く '引数 : hWnd = 呼び出し元ウインドウハンドル ' FilePath = 開きたいファイルのフルパス名 ' WorkPath = 作業フォルダのフルパス名 ' WindowSize = アプリケーションウインドウの大きさ ' 1:通常のサイズで開く ' 2:最小化して開く ' 3:最大化して開く '******************************************************************* Dim longret As Long Dim msg As String longret = ShellExecute(hWnd, "Open", FilePath, parameter, WorkPath, WindowSize) If longret < 31 Then Select Case longret Case 0 msg = "メモリ不足です。" Case ERROR_FILE_NOT_FOUND msg = "ファイルが見つかりません。" Case ERROR_PATH_NOT_FOUND msg = "ファイルのパスが見つかりません。" Case Else msg = longret & "その他のエラー" End Select Call MsgBox(msg, 16) End If End Sub |
Copyright (C)1997-2001 空耳工房 MY2Project All rights reserved. |