|
こんにちは。かみちゃん です。
> 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)
の部分は、掲示板投稿時に、自動変換されしまう語句であるようですので、
わざと全角で記述して半角に変換するコードにしています。
したがって、実際の記述の際には、" "内を半角文字で直接記述しても構いません。
|
|