admin menu ≫  image  writes  admin
スポンサーサイト 
--.--.--.-- 
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
エクセルを使ったプログラムランチャー擬き(1) 
2009.05.08.Fri 
備忘録(1)に書いた
「■ダイアログボックスでファイルを選択してエクセル以外の外部プログラムを実行できないか?」
について紹介してみようと思います。

まず、外部プログラム(EXEファイル)をシートに登録するマクロをあれこれ悩みながら書いてみました。
登録したい行を選んでからマクロを実行すると、ダイアログボックスが開きます。
ダイアログボックスから、登録したいEXEファイルを選択して
選択していた行の2カラム目と3カラム目にEXEファイルのフルパス名とフィルター
を書き出すことにしました。

Sub test()
Const Title$ = "外部プログラムの選択と登録"
Const sec% = 1
Dim CmdLine$, msg$, Title$, sec%, PathLength%
CmdLine = OpenFileName("実行プログラム(*.exe),*.exe", Title)
If InStr(CmdLine, "exe") <> 0 Then
PathLength = Len(CurDir()) + 2
ActiveSheet.Cells(ActiveCell.Row, 2).Value = CmdLine
ActiveSheet.Cells(ActiveCell.Row, 3).Value = Mid(CmdLine, _
PathLength) & "用ファイル"
msg = "外部プログラムを登録しました。  "
Else
msg = "外部プログラムの登録がキャンセルされました。  "
End If
msg = msg & vbCrLf & vbCrLf
sec = 1
Title = "外部プログラムの登録"
Vbs_Msg msg, sec, Title 'VBスクリプトで1秒間のメッセージ表示
End Sub

Function OpenFileName$(Filter$, Title$)
Dim wScriptHost As Object
'デスクトップから開く
Set wScriptHost = CreateObject("WScript.Shell")
ChDir wScriptHost.SpecialFolders("Desktop")
OpenFileName = Application.GetOpenFilename(Filter, 1, Title)
End Function

選択した行の4カラム目に外部プログラムから開きたいファイルの拡張子を
書き込み、取りあえず10個ほどのプログラムを登録しました。
お次は登録したプログラムを使うマクロを紹介してみようと思います。

登録したフィルター名と拡張子の一覧
Jw_win用ファイル(*.jww;*.jwc;*.dxf)
構造計算用ファイル(*.bxf)
AutoCad用ファイル(*.dwg;*.dxf)
TeraPad用ファイル(*.txt;*.dxf;*.html)
TeraPad用ファイル(*.vbs;*.bas;*.cpp)
WzEditer用ファイル(*.txt;*.html;*.cpp)
WzEditer用ファイル(*.bxf;*.dat)←バイナリ
一太郎ファイル(*.jtd)
ワード用ファイル(*.doc)
WScript用ファイル(*.vbs)



関連記事
スポンサーサイト
* スポンサーサイトエクセルを使ったプログラムランチャー擬き(1)へのコメント *
   

台風画報


ナショジオニュース

降水短時間予報

RSSフィード

月別アーカイブ

ブログ内の検索

プロフィール


  • Designed by Il mio diario
  • Powered by FC2BLOG
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。