• ベストアンサー

VB6でHTMLファイルを起動するには?

VB初心者です。初歩的なことですみませんが、教えて下さい。  VB6で特定のhtmlファイルをキックしたいのですが、どのようにすればよいでしょうか。  各PCの規定のブラウザで起動したいので、エクスプローラでhtmlファイルをWクリックしたイメージで関連づけられたブラウザを起動して表示したいのですが。  htmlファイルを仮にaaaa.htmlだったとすると、単純にShellのコマンド部分にabc.htmlファイル名をセットしてみたのですが、拡張子が邪魔しているようでキックしてくれません。  よろしくお願いします。

  • keipa
  • お礼率53% (8/15)

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

私の場合aa1.htmlが作成済みです。そこで エクセルVBAで下記を実行すると、aa1.htmlを表示しました。VB6でもOKでしょう。 Sub test01() Dim f As String f = Chr$(34) & "c:\My Documents\aa1.html" &    Chr$(34) x = Shell("Start.exe " & f, 1) End Sub 下記も参考にご覧下さい。 http://www.bcap.co.jp/hanafusa/VBHLP/tap_kanren.htm

keipa
質問者

お礼

結局Shell関数ではうまく起動できず、教えていただいたURLを参考にWin32APIの方法を試したら、うまく起動できました。ありがとうございました。また分からないことがありましたらよろしくお願いします。

その他の回答 (2)

  • umota
  • ベストアンサー率46% (150/324)
回答No.2

ファイルの関連付けがされていれば API 関数 ShellExecute で HTML ファイルを開くことができます。 API の定義をして rc = ShellExecute(0, "open", _ app.path & "\abc.html", 0, 0, SW_SHOW) というように使います。

keipa
質問者

お礼

教えていただいた方法で、うまく起動できました。ありがとうございました。また分からないことがありましたらよろしくお願いします。

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.1

start abc.html としてみてください。

keipa
質問者

お礼

早々のご回答ありがとうございました。最初に試してみたのですが、Shellへの渡し方を色々試してみましたがうまくいきませんでした。また分からないことがありましたら、よろしくお願いします。

関連するQ&A

  • Visula Basic6.0からUNIXサーバーのシェルの起動について

    VB6.0からUNIX上のshellを起動したいのですが、良い方法を教えて下さい。 WindowsNT/2000では、以下の方法を考えていますが、Win98ではRSHコマンドが使用できないため困っています。 WindowsNT/2000 shell関数でPC上のバッチファイルを起動。 バッチファイルからRSHコマンドを使用しUNIXのshellを起動。

  • VBでコマンドラインを実行したい!

    VBのソースからVBScriptを起動させたいんですが、 Shell関数ではEXEファイルしか実行できないみたいで うまくいきません。何かいい方法はないでしょうか? 実行したいコマンドラインは以下の通りです。 hoge.vbs 5 5を引数で渡したいんですがどうすればいいでしょうか? よろしくお願いします。

  • Java→VB2003アプリ→Batch でbatchファイルが起動できない

    どこで質問すべきか迷ったのですが。。。 質問タイトルどおりなのですが、 JavaアプリからRuntime#exec(); で起動して、Process#waitFor(); で終了待ちをしているアプリ(VB2003アプリ)から、 Shellでbatchファイルを起動しようとすると、起動できないという現象が起こっています。(exeは動きます) JAVAからではなく、単純にVB2003アプリだけを起動するとBatchファイルは正しく起動できます。 このbatchファイルの中から、さらにexeを起動しようとしているのがまずいのでしょうか? プロセスのネストの制限か何かにひっかかっているせいでしょうか? 調べてみたのですが、特に制限らしきものが見当たらなかったのですが、 ご存知でしたら、ご教示ください。

    • ベストアンサー
    • Java
  • VBを起動せずにEXEファイルを作成する方法

    表題のとおりです。 VBで作成したソースファイル等をVBを起動せずに、EXEファイルを 作成する方法を探しています。 と、言うのも、複数(VB以外も含む)のプロジェクトファイルを一度に コンパイルし、配布できる環境を作成するようにしたいのです。 要は makeファイル 等で作成出来ればと考えています。 何か、VBでEXEファイルを作成できるコマンドライン(C2.EXE等???)が あれば、お教えいただけませんでしょうか? よろしくお願い致します。

  • VBのshellについて。

    すみません。教えてください。 環境OS:winXP ソフト:VB6.0 sp5 内容:shellを利用してbatファイルをキックさせようとしていますがうまくいかないのです。 --VBソース-- Str = "C:\program file\SOFT\test.bat" & "/w" nR = shell(Str,1) -- batファイルの中身-- @echo dir %1 > "C:\Program File\SOFT\log.txt" 以上のデータなのですが、EXEを作成し、Shellを起動するとエラーが帰ります。 確認したところ、windows2000では問題ないのですが、XPではProgram Fileのスペースが問題で、エラーになってしまうのです。 教えていただきたいのは、 1.本当にXPではスペースのあるディレクトリ名はエラーになるのかということ。 2.もしエラーになるのであれば、対応策。 の上記の2点を教えてくださいませ。 いろいろ試し、探しているのですが、なかなか見つからず困っています。 XPのみできないっていうのも半信半疑だし・・・・ お願いします。

  • セルのファイルを起動したい

    セルに入っているファイル名を開きたいと考えています。 ファイル名はパス付きで入っています。 拡張子が.docの時はワードで、.xlsの時はエクセルで、.pdfの時はアクロバットで、その他該当するアプリケーションを立ち上げてそのファイルを開き、そしてパス名だけの時はエクスプローラで該当ディレクトリを開きたいと思っています。 拡張子を見てワード、エクセル、アクロバットまでは立ち上げるVBAまでは出来ました。 エクスプローラが分かりません。 どなたか教えていただけないでしょうか。 またファイル名が入っている場合、現在は直接アプリケーションを起動するやり方をとっていますが、拡張子から自動的に適切なアプリを立ち上げることはできないでしょうか。 よろしくお願い申し上げます。 現在の方法: Sub test() Shell "C:\Program Files\Microsoft Office\OFFICE11\WinWord.exe " & _ "c:\test.doc", vbMaximizedFocus End Sub

  • バッチファイルを起動したけど、win98では引数が長すぎて。。。

    VBからバッチファイルを起動する処理を作成中です。 SHELL コマンドで実行しているのですが、 そのバッチファイルの引数がすごく長いのです。 >batch.bat "引数1" "引数2" "引数3" とする際、引数1 ~ 引数3までの合計文字列が 128?byte を超えてしまい、 win98では、使えないプログラムがあります。 複数の引数をまとめたファイルを、バッチファイルの 引数として起動させる等、 回避作はあるのでしょうか? 教えてください。

  • VB6でWSH(vbs)を起動できる方法を教えてください。

    visual Basic 6でアプリケーションを開発していますが、 このアプリケーション(exe)から、test.vbsを起動したいと考えています。 ====vbのコード===== 'ボタンクリックしたら、test.vbsが実行される Private Sub Command1_Click() shell("test.vbs") End Sub ==== test.vbs ==== MsgBox("test.vbs起動しました。") です。 上記のようにコードを書きましたが、Shell関数で 「実行時エラー'5' プロシージャの呼び出し、または引数が不正です。」 のメッセージが出力されて、vbsが起動できません。 VB6でWSH(vbs)を起動できる方法を教えてください。 環境は以下の通りです。 OS:WIN2000 アプリ:VB6 ブラウザ:IE5.0

  • VB.Netでのエラーについて

    こんにちわ。 いまVB.Netでプログラミングしている者です。 あるVBプロジェクトファイル(aaaa.dllとします)で ある.dllファイル(bbbb.dllとします)を参照設定しています。 そこでこのVBプロジェクトファイルをビルドすると, このVBプロジェクトファイル内のあるVBファイルの行で, 「Public Function ~」はプロジェクトbbbb.dllで宣言されていますが,プロジェクトaaaa.dllによって参照されていません。」 というコンパイルエラーになってしまいます。 ソリューションエクスプローラで見たところ, 上記のVBプロジェクトファイルの参照設定で,bbbb.dllはエラー表示されていません。 念のためbbbb.dllを一旦削除して,最新のbbbb.dllを改めて「参照追加」したのですが,状況が変わりません。 このエラーは何が原因なのでしょうか? 教えてください。よろしくお願いします。

  • VB6.0から起動したexeファイルを終了するとエラーが発生して困っています

    VB6.0(OSはWindowsXP)中からShell関数を利用してexeファイルを起動したのですが、そのexeファイルを終了すると決まってアプリケーションエラーが発生します。これを直接かショートカットで実行して終了するとエラーは出ません。どなたか考えられる原因や解決策をご存じの方、教えて頂けませんでしょうか?よろしくお願い致します。