| 
    
     |  | こんにちは。かみちゃん です。 
 > 111のリンク先は111.xls、222のリンク先は222.xlsを
 > 開けたいのですが書き方に悩んでおります。
 > どう書けばよいのかよいのでしょうか。
 
 さきほどは、よく見ていなかったのですが、サンプルファイルを用意して、コード
 を試してみると、提示のコードでは不具合箇所がたくさんありました。
 
 一応以下のようにすると、ご希望のことはできると思います。
 
 なお、まとめシートのD列には、リンク先ファイルのフルパスを作業データとして
 転記するようにしています。
 
 しかし、ファイル一覧をシートに作成せずにいきなり、作成.htmlファイルを作成
 することもできます。(test1_1とtest2_1を分ける必要がない)
 
 Sub test1_1()
 Dim myfso As New filesystemobject
 Dim fld As Folder
 Dim flname As File
 'Dim flname As FileDialog
 Dim thebk As Workbook
 ' Dim i As Long
 ' Dim LROW As Long
 
 With myfso.getfolder(ThisWorkbook.Path & "\")
 For Each fld In .subfolders
 For Each flname In .Files
 If UCase(flname.Path) <> UCase(ThisWorkbook.FullName) Then
 Set thebk = Workbooks.Open(flname.Path)
 With ThisWorkbook.Sheets("まとめ")
 '      LROW = .Cells(65536, 1).End(xlUp).Row + 1
 '      For i = 1 To 3
 '       ThisWorkbook.Sheets("まとめ").Cells(LROW, i) = thebk.Sheets("Sheet1").Cells(2, i)
 '      Next
 With .Cells(Rows.Count, 1).End(xlUp).Offset(1)
 .Resize(, 3).Value = thebk.Sheets("Sheet1").Cells(2, 1).Resize(, 3).Value
 .Offset(, 3).Value = flname.Path
 End With
 End With
 thebk.Close savechanges:=False
 End If
 Next
 Next
 End With
 MsgBox "まとめデータを作成しました"
 End Sub
 
 Sub test2_1()
 Dim FNO As Integer
 Dim sname As String
 ' Dim AROW As Long
 Dim hani As Range
 Dim z As Long, y As Long
 
 FNO = FreeFile
 sname = ThisWorkbook.Path & "\" & "作成.html"
 
 Open sname For Output As #FNO
 
 Print #FNO, "<html><head><title></title></head>"
 Print #FNO, "<body>"
 Print #FNO, "<table><tr>"
 Print #FNO, "<td>NO</td><td>NAME</td><td>TEL</td>"
 Print #FNO, "</tr>"
 
 ' AROW = Worksheets("まとめ").Cells(65536, 1).End(xlUp).Row
 ' Set hani = Worksheets("まとめ").Range(Cells(1, 1), Cells(AROW, 3))
 With Worksheets("まとめ")
 Set hani = Worksheets("まとめ").Range("A1", .Cells(Rows.Count, 1).End(xlUp))
 End With
 For z = 1 To hani.Rows.Count
 Print #FNO, "<tr>"
 For y = 1 To 3
 If y = 1 Then
 Print #FNO, "<td>" & StrConv("<a href=", vbNarrow) & _
 """file://" & hani.Cells(z, 4).Value & """>" & hani.Cells(z, y).Value & "</td>"
 Else
 Print #FNO, "<td>" & hani.Cells(z, y).Value & "</td>"
 End If
 Next
 Print #FNO, "</tr>"
 Next
 Print #FNO, "</tr></table></body></html>"
 Close #FNO
 MsgBox "Htmlファイルを作成しました。" & vbCrLf & sname
 End Sub
 
 ※StrConv("<a href=", vbNarrow)
 の部分は、掲示板投稿時に、自動変換されしまう語句であるようですので、
 わざと全角で記述して半角に変換するコードにしています。
 したがって、実際の記述の際には、" "内を半角文字で直接記述しても構いません。
 
 |  |