VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2004/12/15(Wed) 02:48
投稿者しまりす
URL
タイトルExcelシートのHTML形式保存

いつも大変参考にさせて頂いております。
このたび不明な点がありまして御質問させて頂きます。
Excelのシートの印刷範囲をHTML形式で保存したいのですが、どのようにしたら良いのか
分かりません、どなたか御教授願えれば幸いです。
印刷・新規保存は出来ています。
HTML形式での保存方法が分かりません。
以下に現在のソースコードを添付します。
なにとぞよろしくお願い致します。
使用言語はVB6です。
Excelは2002です。

'
'リスト印刷
'
Private Sub Print1()
    
    Dim i As Integer
    Dim n As Integer
    Dim buff As String
    Dim myExcel     As Object 'Workbook  'エクセルのブックオブジェクトへの参照を格納する変数
    Dim myFileName  As String       '目的のファイルの名前
    Dim svDir As String
    Dim svFileNm As String
    Dim svHtmlNm As String
    Dim std As Date
    Dim edd As Date

    If List2.ListCount < 1 Then Exit Sub
    
    svDir = App.Path & "\" & Tdata(1, 1).KojiNm
    If dir(svDir, vbDirectory) = vbNullString Then MkDir svDir
    
    svDir = svDir & "\" & Format(EndDate, "yyyy年")
    If dir(svDir, vbDirectory) = vbNullString Then MkDir svDir
    
    If TOption(0) Then
        svDir = svDir & "\完了"
    Else
        svDir = svDir & "\" & Format(EndDate, "m月d日")
    End If
    If dir(svDir, vbDirectory) = vbNullString Then MkDir svDir
    
    myFileName = App.Path & "\manu_17.xls"

    Set myExcel = GetObject("", "Excel.Sheet")

    DeleteFile App.Path & "\last.xls"

    std = Tdata(1, 1).Nonyubi
    i = Text2(1): If i < 1 Then i = 1
    n = Text2(0) - (i * 100 - 100)
    edd = Tdata(i, n).Nonyubi
    
    With myExcel.Application

    .ActiveWindow.WindowState = xlMaximized
    .Workbooks.Open FileName:=myFileName
    .range("C3") = "工事名称:"
    .range("D3") = Tdata(1, 1).KojiNm
    .range("G57") = Page

    For n = 1 To Val(Text2(1))

        .Visible = False
        .cells(5, 2) = n * 100 - 100 + 1
        
        For i = 1 To 50
            
            If Tdata(n, i).SeihinNm <> "" Then
                .cells(i + 4, 3) = Tdata(n, i).SeihinNm
                .cells(i + 4, 4) = Tdata(n, i).Dasetubi
                .cells(i + 4, 5) = Tdata(n, i).Nonyubi
                .cells(i + 4, 6) = Tdata(n, i).KojyoNm
            Else
                .cells(i + 4, 3) = ""
                .cells(i + 4, 4) = ""
                .cells(i + 4, 5) = ""
                .cells(i + 4, 6) = ""
            End If

        Next

        For i = 51 To 100
            
            If Tdata(n, i).SeihinNm <> "" Then
                .cells(i + 4 - 50, 8) = Tdata(n, i).SeihinNm
                .cells(i + 4 - 50, 9) = Tdata(n, i).Dasetubi
                .cells(i + 4 - 50, 10) = Tdata(n, i).Nonyubi
                .cells(i + 4 - 50, 11) = Tdata(n, i).KojyoNm
            Else
                .cells(i + 4 - 50, 8) = ""
                .cells(i + 4 - 50, 9) = ""
                .cells(i + 4 - 50, 10) = ""
                .cells(i + 4 - 50, 11) = ""
            End If

        Next

        .range("F57") = CStr(n) & "/"
        .Visible = True
        
        If POption(0) Then .ActiveWindow.SelectedSheets.PrintOut Copies:=1, collate:=True
        
        svHtmlNm = svFileNm
        
        If TOption(0) Then
            svFileNm = svDir & "\完了リスト" & "-" & CStr(n) & ".xls"
            svHtmlNm = svDir & "\完了リスト" & "-" & CStr(n) & ".html"
        Else
            svFileNm = svDir & "\" & Format(EndDate, "m月") & "度リスト" & "-" & CStr(n) & ".xls"
            svHtmlNm = svDir & "\" & Format(EndDate, "m月") & "度リスト" & "-" & CStr(n) & ".html"
        End If
        
        .DisplayAlerts = False
        
        'EXCEL保存
        .ActiveWorkbook.SaveAs FileName:=svFileNm
        
        'HTML形式保存
    'ここでHTML形式で保存したいのです。
        .ActiveWorkbook.SaveAs FileName:=svHtmlNm
        
        .Workbooks.Open FileName:=myFileName
        .range("C3") = "工事名称:"
        .range("D3") = Tdata(1, 1).KojiNm
        .range("G57") = Page

    Next
    
    .ActiveWorkbook.SaveAs FileName:=App.Path & "\last"
    .Quit

    End With
    
    Set myExcel = Nothing

End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -