HtmlファイルをIEで起動させるには?

解決


はぎー  2004-01-20 07:06:07  No: 81583

VB5.0でデータをHtmlファイルに保存しました。
そのHtmlファイルをNNではなくIEで起動させたいのですが
ユーザー環境のデフォルトブラウザはNNのため、NNで起動してしまいます。
VBの質問ではなくなってしまうのかもしれませんが、
単独起動時はデフォルトIEで開くよう「Html」にコーディングする方法は
あるのでしょうか?
どなたかよろしくお願いします!!


魔界の仮面弁士  2004-01-20 07:48:15  No: 81584

InternetExplorerオブジェクトが使えるかも。

Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate2 "C:\Sample.html"

'必要に応じて、表示位置の指定(指定しなくてもOK)
IE.Top = 0
IE.Left = 0
IE.Width = 800
IE.Height = 600

'IEを表示
IE.Visible = True

Set IE = Nothing


adobee  2004-01-20 13:38:38  No: 81585

htmlの単独起動時に使用されるブラウザはOSの設定によりますので、無理だと思います。
(拡張子でOSが判断して起動するアプリを決定している)


はぎー  2004-01-21 00:07:15  No: 81586

そうですか・・・無理ですか・・・。
ご回答ありがとうございました。

なぜIEで起動させたいかというと、
IE5以降のブラウザでは画面印刷時に
改ページ制御ができるからです。
NNで制御できれば問題なかったのですが・・。


IMA  2004-01-21 21:28:45  No: 81587

はぎーさん、こんにちは

さて、htmファイル内にvbscriptなどで魔界の仮面弁士の様な
コードを記載することで、
デフォルトのNNの起動の後で、IEを起動させることはできるようですが
ActiveXの警告などが出て実用的で無いようです。

私の逃げの案としては、

1.拡張子をhtmXなどと現在関連付けされてない拡張子に変更して
この関連付けをIEに指定する。
→この方法では全てのユーザーに関連づけ設定を依頼することになります。

2.フリーソフトなどの起動ソフトを選択できるソフトを、NNがデフォルトの
ユーザーに利用してもらう。あるいは、右クリック拡張メニューに"IEで開く"
を作成し、利用してもらう。

御参考になれば幸いです。


IMA  2004-01-21 21:33:30  No: 81588

魔界の仮面弁士"様"が抜けておりました。
大変失礼しました。

(余談ですが、魔界の仮面弁士様のレスには私の知らないすばらしいもの
  が多く過去ログを読みあさって勉強させて頂いています。  m(_ _)m  )


通りすがりの素人  2004-01-22 20:09:39  No: 81589

コマンドライン(またはShell関数)から
"explorer xxxx.html"
でいかがでしょうか?


はぎー  2004-01-23 06:06:33  No: 81590

みなさんどうもありがとうございます( *^-^* )

わたしが実現させたい機能は・・・
Htmlファイルは関連ファイルと一緒に1つの圧縮ファイルに
保存されVBプログラムによりサーバーに送られます。
受信者はVBプログラムによりそのファイルをサーバーから
取得し、解凍→画面表示・印刷・保存する、
といったものです。

解凍時はVBプログラミングでなんとかIEを起動させることが
できますよね。問題は別場所に保存したファイルを単独起
動させる場合なのです。

拡張子を変えてみる、という案もいいなと思いましたが
千人以上のユーザーに関連付けを設定してもらうのは難しく。
・必ずVBプログラムを介して起動する
・単独起動では表示を保障しない
という提案をして何とかIEで起動させたいと思います。

話題は変わりますが、
VBにHtmlソースを組み込んでHtmlファイルを作成するって
大変ですね。HtmlビルダとかDreamWeaverで作成したソースを
貼り付けているのですが、値を編集するところがセンスを
問われるところで・・。


IMA  2004-01-23 22:08:59  No: 81591

はぎーさん、取りあえず問題解決とお考えでしたら"解決"の
チェックを入れられたら如何でしょうか?

なお、
>拡張子を変えてみる、という案もいいなと思いましたが
>千人以上のユーザーに関連付けを設定してもらうのは難しく。

はユーザー(納入先)の了解が得られるのであれば、VBのアプリに
レジストリに関連付けを登録(削除)するコマンドやメニューを
載せて、最初の時に設定していただく方法なら可能だと思いますが。

>話題は変わりますが、
>VBにHtmlソースを組み込んでHtmlファイルを作成するって
>大変ですね。HtmlビルダとかDreamWeaverで作成したソースを
>貼り付けているのですが、値を編集するところがセンスを
>問われるところで・・。

  私の場合は、変数になるデータを、例えば
$$001data$$,$$002data$$,・・・と埋め込んで
あとでデータをReplaceします。
  MSHtmlを参照して、tag,name  などで処理することも
できるでしょうね。


  URL  2004-01-24 01:01:26  No: 81592

あらゆるマルチメディア対応(必要に応じてプログラムパスと、属性名doc<尾>/xls<尾>/http<頭>/html <尾> を
データベース<単なるTxtファイル>に追加するだけで動作可能の
プログラムを作りました。
VB.NETですが、VB5,6に変換すれば使用可能。

リソース<DB>    これを  例えば  c:\Ect\Resource.txt  に格納しておく
                  マルチメディアが増えれば、ここに登録追加

doc=Program-MicrosfoftWord;C:\Program Files\Microsoft Office\Office10\WINWORD.exe
vb=Program-MicrosfoftWordPad;C:\Program Files\Windows NT\Accessories\wordpad.exe
xls=Program-MicrosfoftExcel;C:\Program Files\Microsoft Office\Office10\EXCEL.exe
ppt=Program-MicrosfoftExcel;C:\Program Files\Microsoft Office\Office10\POWERPNT.exe
dtp=Program-MicrosfoftExcel;C:\Program Files\Acrobat\acrobatReader\ACReader.exe
html=Program-MicrosfoftExcel;C:\Program Files\Internet Explorer\IEXPLORE.exe
shtml=Program-MicrosfoftExcel;C:\Program Files\Internet Explorer\IEXPLORE.exe
jpg=Program-MicrosfoftExcel;C:\Program Files\Internet Explorer\IEXPLORE.exe
jpeg=Program-MicrosfoftExcel;C:\Program Files\Internet Explorer\IEXPLORE.exe
hml=Program-MicrosfoftExcel;C:\Program Files\Internet Explorer\IEXPLORE.exe
http=Program-MicrosfoftExcel;C:\Program Files\Internet Explorer\IEXPLORE.exe
txt=Program-MicrosfoftExcel;C:\Program Files\Windows NT\Accessories\wordpad.exe
wmp=Program-MicrosfoftExcel;C:\Program Files\Windows Media Player\wmplayer.exe
mpg=Program-MicrosfoftExcel;C:\Program Files\Windows Media Player\wmplayer.exe
wmv=Program-MicrosfoftExcel;C:\Program Files\Windows Media Player\wmplayer.exe
avi=Program-MicrosfoftExcel;C:\Program Files\Windows Media Player\wmplayer.exe
mpeg=Program-MicrosfoftExcel;C:\Program Files\Windows Media Player\wmplayer.exe

==============================

APP<パス取得>    目的プログラムの  パスを取得起動APP
                    なお、これはサービスクラスの  GetFileNameを使用する
                    SSVはサービスクラスのインスタンス

Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
        TextBox50.Text = SSV.getFileName()
    End Sub

***サービスクラス  SSV  のファイル名取得Function****

Public Function GetFileName() As String
        With OpenFileDialog1
            .CheckFileExists = False '存在するか確認
            .RestoreDirectory = True    'ディレクトリの復元
            .ReadOnlyChecked = True
            .ShowReadOnly = True
            .Filter = _
            "すべてのファイル(*.*)|*.*|テキストファイル(*.txt)|*.txt"
            .FilterIndex = 1            'Filterプロパティの2つ目を表示
            'ダイアログボックスを表示し、[開く]をクリックした場合
            If .ShowDialog = DialogResult.OK Then
                'テキストファイルが選択されている場合はファイルを開く
                getFileName = .FileName
                Exit Function
            End If
        End With
    End Function
====================================

APP<プログラム起動>
Private Sub Button27_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button27.Click
        DPS.DocumentDisplay(TextBox50.Text)
    End Sub

<<ここで  DPS  は  ドキュメントプログラム管理クラスのインスタンス>
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

APP<リソースファイル解読とプログラム保持>

***ドキュメントプログラム管理クラス****
Public Class DocumentProcesser
    Private RCS As ResourceAdmin
    Private Program(50) As String
    Private ProgramPass(50) As String
    Private ProgramCount As Integer
    Private ResourceFileName As String
    Private SSV As SystemSourvice
    Private FN As Integer

    Public Sub New(ByVal rcs_data As ResourceAdmin, ByVal ssv_data As SystemSourvice, ByVal file As String)
        ' MsgBox("Document Process new   File Name=" & file)
        RCS = rcs_data
        SSV = ssv_data
        ResourceFileName = file
        If GetResource() = False Then
            MsgBox("プロセッサークラス初期処理でエラーが発生しました。")
            End
        End If
    End Sub
    Private Function GetResource() As Boolean
        Dim SS, Word1, Word2, Word3 As String
        Dim i, j, PointCounter As Integer

        GetResource = True
        ProgramCount = 0
        PointCounter = 0
        FN = FreeFile()
        Try
            FileOpen(FN, ResourceFileName, OpenMode.Input)
        Catch ex As System.IO.FileNotFoundException
            MsgBox("リソースファイル(" & ResourceFileName & ")がみあたりません。")
            GetResource = False
        Finally
        End Try
        If GetResource = False Then
            Exit Function
        End If
        For i = 1 To 256
            SS = LineInput(FN)
            Word1 = SSV.GetNextWord(SS, 1)
            Word2 = SSV.GetNextWord(SS, 2)
            Word3 = SSV.GetNextWord(SS, 3)
            If Microsoft.VisualBasic.Left(Word2, 8) = "Program-" Then
                ProgramCount = ProgramCount + 1
                Program(ProgramCount) = Word1
                ProgramPass(ProgramCount) = Word3
                PointCounter = PointCounter + 1
            End If
            If EOF(FN) = True Then
                FileClose(FN)
                Exit For
            End If
        Next
    End Function
    Public Sub DocumentDisplay(ByVal DocPass As String)
        Dim i, jk As Integer
        Dim ExpandStr, Headstr As String
        ExpandStr = SSV.GetLastWord(DocPass)
        Headstr = SSV.GetHeadWord(DocPass)
        For i = 1 To ProgramCount
            If ExpandStr = Program(i) Or Headstr = Program(i) Then
                ' If Program(i) = "http" And Microsoft.VisualBasic.Right(DocPass, 1) = "/" Then
                '  DocPass = DocPass & "index.html"
                '   End If
                ' MsgBox("Program Id:" & Program(i) & "  Pass" & ProgramPass(i))
                'MsgBox("DOCPass:" & DocPass)
            Shell(ProgramPass(i) & " " & DocPass, AppWinStyle.NormalFocus)
            Exit Sub
            End If
        Next
        MsgBox("指定のデータ : " & DocPass & Chr(13) & "を表示するプログラムの登録がありませんでした。")
    End Sub
End Class


はぎー  2004-02-05 05:39:50  No: 81593

「解決」チェックを忘れていましたf(^_^;

みなさまありがとうございました


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加