ExcelをVBから起動(3種類)


'===========================================================================
'    ファイル名    : frmMain.frm
'    ファイル説明  : Excelの起動サンプル(3種類)
'    作成者        : Uz
'                    E-Mail   : uz@violet.plala.or.jp
'                    HomePage : http://www1.plala.or.jp/uz/
'    作成日        : 1998/06/17 (Wed)
'    修正日        : 1998/06/17 (Wed)
'    備考          : なし
'===========================================================================
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 Const SW_SHOW = 5
Private Declare Function GetDesktopWindow Lib "user32" () As Long


'開くファイル名
Const strFileName = "e:\projects\excel\test\test.xls"

'
'   CreateObjectによりExcelオブジェクトを作成
'   構文チェックなし。VB5の開発支援を受けられない。
'   (入力候補や引数の入力ToolTipsが出ない)
Private Sub Command1_Click()
    Dim objExcel As Object
    Set objExcel = CreateObject("Excel.Application")
    objExcel.Visible = True
    objExcel.Workbooks.Open strFileName
End Sub

'
'   関連付けにより起動(API)
'   起動後、VBのコードからの操作は出来ない。
'   (SendKeysを使えば出来るかもしれないが実用的ではないでしょう)
Private Sub Command2_Click()
    Call ShellExecute(GetDesktopWindow, "open", strFileName, Chr$(0), "", SW_SHOW)
End Sub

'
'   VBの参照設定で Microsoft Excel 5.0 Object Library にチェックを入れる。
'   (Excel95の場合(97の場合多少違うかも))
'   開発はこれが一番楽でしょう。
'   構文チェックもしてくれるしVB5の開発支援を受けられるし。
Private Sub Command3_Click()
    Dim oleExcel As Excel.Application
    Set oleExcel = Excel.Application
    oleExcel.Visible = True
    oleExcel.Workbooks.Open strFileName
End Sub

    

サンプル ExecuteExcel.lzh