- 締切済み
エクセルのセルの中身をhtmlファイルで簡単に保存させたい?
エクセルのセルの中身をhtmlファイルで簡単に保存させたい? エクセル2003を使っています。 仮に A1にファイル名(index.html) B1にhtmlの中身 A2にファイル名(tesuto1.html) B2にhtmlの中身 A3にファイル名(tesuto2.html) B3にhtmlの中身 以下同様に続く があったとします。 いつもはセルBのhtmlの中身をコピーしてエディタに貼り付け、ファイル名を指定して保存(Aのセル)していたのですが、手動でやるのが面倒なのでマクロを使って簡単にやりたいのですが出来るでしょうか? マクロ経験なしの素人ですがよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- wolis
- ベストアンサー率45% (14/31)
こちらのほうが良いかもです。 Sub test() Dim uRange As Range For Each uRange In Range("A1:A" & ActiveSheet.UsedRange.Rows.Count) If uRange.Value Like "*" + ".html" Then ActiveWorkbook.PublishObjects.Add(xlSourceRange, ThisWorkbook.Path & "\" & uRange, _ ActiveSheet.Name, "$B$" & uRange.Row, xlHtmlStatic).Publish (True) End If Next End Sub
- wolis
- ベストアンサー率45% (14/31)
マクロ登録の方法はご存知ですか? Sub test() Dim uRange As Range For Each uRange In Range("A1:A" & ActiveSheet.UsedRange.Rows.Count) If uRange.Value <> "" Then With ActiveWorkbook.PublishObjects.Add(xlSourceRange, CurDir & uRange, _ ActiveSheet.Name, "$B$" & uRange.Row, xlHtmlStatic) .Publish (True) End With End If Next End Sub ではいかがでしょう。
- assault852
- ベストアンサー率48% (1364/2797)
申し訳ありませんが、まる投げの質問はあまり感心できません。 少しはご自分で学ばれてから、こういうやり方でうまくいかない、などの質問をして頂きたいのですが、いかがでしょうか。
お礼
すいませんいろいろ調べてこれで解決しました。 Sub htmlコピー() Dim c As Range Dim s As String, TmpS As String Dim myF As Integer On Error Resume Next For Each c In Range("A1").CurrentRegion.Resize(, 1) If c.Value <> "" Then s = Trim(c.Value) TmpS = Right(s, Len(s) - InStrRev(s, ".") + 1) If TmpS <> ".htm" And TmpS <> ".html" Then s = s & ".html" End If myF = FreeFile Open ThisWorkbook.Path & "\" & s For Output As #myF Print #myF, Replace(c.Offset(, 1).Value, vbLf, vbCrLf) Close #myF If Err.Number Then Err.Clear MsgBox c.Address & c.Value Exit Sub End If End If Next End Sub
補足
ご回答ありがとうございます。 早速ANo.2で試してみましたが、私の思うように行きませんでした。 先ず、作成されたファイルですが、このファイルはエクセル形式となっています。Bのセルには、普通にhtmlのタグが入っています。 Bのセルの中身は <html> <head> </head> <body> 省略 </body> </html> です。 作成されるファイルは普通のhtmlのファイルにしたいです。 wolisさんの場合だとIEで開くとタグが丸出しの状態になっていて、ソースはまるっきり違う物になっています。 もう1つは、作成されたファイルですが、XLTSTART に保存されるのですが、マクロを実行すると保存先を聞いてくるのがいいです。 言葉が足らずすいませんでした。