• 締切済み

エクセルのセルの中身をhtmlファイルで簡単に保存させたい?

エクセルのセルの中身をhtmlファイルで簡単に保存させたい? エクセル2003を使っています。 仮に A1にファイル名(index.html)  B1にhtmlの中身 A2にファイル名(tesuto1.html) B2にhtmlの中身 A3にファイル名(tesuto2.html) B3にhtmlの中身 以下同様に続く があったとします。 いつもはセルBのhtmlの中身をコピーしてエディタに貼り付け、ファイル名を指定して保存(Aのセル)していたのですが、手動でやるのが面倒なのでマクロを使って簡単にやりたいのですが出来るでしょうか? マクロ経験なしの素人ですがよろしくお願いします。

  • siraku
  • お礼率54% (276/508)

みんなの回答

  • wolis
  • ベストアンサー率45% (14/31)
回答No.3

こちらのほうが良いかもです。 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

siraku
質問者

お礼

すいませんいろいろ調べてこれで解決しました。 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

siraku
質問者

補足

ご回答ありがとうございます。 早速ANo.2で試してみましたが、私の思うように行きませんでした。 先ず、作成されたファイルですが、このファイルはエクセル形式となっています。Bのセルには、普通にhtmlのタグが入っています。 Bのセルの中身は <html> <head> </head> <body> 省略 </body> </html> です。 作成されるファイルは普通のhtmlのファイルにしたいです。 wolisさんの場合だとIEで開くとタグが丸出しの状態になっていて、ソースはまるっきり違う物になっています。 もう1つは、作成されたファイルですが、XLTSTART に保存されるのですが、マクロを実行すると保存先を聞いてくるのがいいです。 言葉が足らずすいませんでした。

  • wolis
  • ベストアンサー率45% (14/31)
回答No.2

マクロ登録の方法はご存知ですか? 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)
回答No.1

申し訳ありませんが、まる投げの質問はあまり感心できません。 少しはご自分で学ばれてから、こういうやり方でうまくいかない、などの質問をして頂きたいのですが、いかがでしょうか。

関連するQ&A

  • 【エクセル】セルの内容をテキストエディタに書き出す

    どなたかご教授お願いします。 エクセルのセルの内容をテキストエディタに書き出し、 希望のファイル名で保存したいと思っております。 例。    A     |     B 1  長文1      1111 2  長文2      2222 3  長文3      3333 4  長文4      4444 ↓ ↓ ずっと1000番ほどまで続きます。 このように、 セルAの内容をテキストファイルに書き出し、 セルBという名前でテキストファイルを保存したいと思っております。 「セルA1」 書き出し → ファイル名「セルB1」 「セルA2」 書き出し → ファイル名「セルB2」 「セルA3」 書き出し → ファイル名「セルB3」 ・・・ という風に、ずっと続きます。 どなたか、良い方法はありませんか? エクセルのマクロの使い方も全くわかりませんので、 できるのであれば、どんな方法でも結構です。 申し訳ありませんが、 マクロの場合は、初心者でもわかるように、 マクロのコードを教えてください。 しばらく色いろと試しましたが、 方法が全くわからず、お手上げ状態です。 どうぞ、よろしくお願いします。

  • VBA ファイルの保存方法

    hiroです。 Excel Aファイルを「名前を付けて保存」で、Bというファイル名で保存し、かつ Aファイルをそのまま開きっぱなしにしたいのですが、方法がわかる方教えてください。 通常、「名前を付けて保存」後、Bファイルが即座に開かれて、Aファイルが閉じてしまいます。 理由 (1)Aファイルは閉じたくない、保存したくない (マクロ、セル関数付) (2)Aファイルのマクロ動作後の情報をファイルBとして保存し、ファイルAはそのままにしたい (3)Bファイルはマクロ削除、セル関数はB側で持ちたい  → シートのコピーはセル関数がA側になってしまうので、使用できない わかる方がいらっしゃいましたら、教えてください。よろしくお願いします。 環境 Microsoft XP Excel 2003

  • エクセル マクロ 複数ファイルを1枚のファイルに

    お世話になります。 私の業務で、多数のエクセルシートを1つのファイルにまとめ、 その上で縦串を通して合算を出す、という作業が頻発しております。 様々な資料で同様の作業が行われますので、簡素化ができればと思い、 質問させていただきます。 [作りたいマクロ] 『元データ』のフォルダに入っているエクセルファイルの 『指定シート(仮にA2セルにシート名を指定できるものとします)』を、 当マクロの入ったエクセルファイルにシートを追加したい。 その際、全てのシート名が同一になってしまうので、 『指定したセル(仮に各シートのB2セル)』をシート名にする。 ●各シートは全て同じフォーマットですので、書式等そのままコピーでOKです ●元のファイル名はバラバラになっていることが多いです

  • エクセル、セルの中身をtxtに出力して確認したい

    エクセルシートD列の各セルに改行された文章が入っています。 任意のセルを選択した状態で、セルの中身をtxtファイルに出力するにはどうすればいいでしょうか? 各セルに長い文章が入っていて、中身を確認したいのです。 エクセルのセルをコピーして、エディタに貼ればいいだけの話ですが、数が多いので、できればVBAを使って簡単に確認したいと思っています。 ちなみにwin7でエクセル2010を使っています。 どなたか教えていただえけないでしょうか。 よろしくお願いします。

  • 指定したセルでファイル名を保存するマクロについて

    マクロ初心者です。 A1セルの文字をファイル名にして保存する方法を知りましたが、A1セルとB1セルの文字をファイル名にして保存したい場合、どのようにすれば良いか分かりません。 A1セルに企業コード、B1セルに企業名です。 ファイル名を「請求書(13579いろは株式会社様)」としたいのです。 実際のマクロを一部抜粋しますが、下記の場合はファイル名は 「請求書(13579様).xls」となります。 Dim WS As Worksheet Dim fname As String fname = "C:\保存先\" & ("請求書(") & WS.Range("a1").Value & ("様)") & ".xls" どなたか教えて下さい。 どうぞよろしくお願い致します。

  • Excelのマクロで改行を含んだテキストファイルの中身を1つのセルに書

    Excelのマクロで改行を含んだテキストファイルの中身を1つのセルに書き込みたいです。 ネット上を探してみると、1行ごとにわけて各行に書き込むマクロは見つかったのですが、 もっと原始的にファイルを開くのダイアログからテキストを指定して、その中身をただ単純にセルに入力したいです。 どのように記述すればよいでしょうか??

  • エクセルでセル値をファイル名にして保存しようと思っています。

    エクセルでセル値をファイル名にして保存しようと思っています。 エクセル2003では以下の方法でセル値を取得して保存しています。 'Cell値を取得 strName2 = Sheets("#######").Range("A1").Value strName3 = Sheets("*******").Range("B2").Value 'strName2の値が空の場合、現在のブック名を代入 If strName2 = "" Then strName = ThisWorkbook.Name 'セル値の結合 sName = strName3 + strName2 '名前を付けて保存] ダイアログ ボックスを表示 fName = Application.GetSaveAsFilename(InitialFileName:=sName, fileFilter:="Excel(*.xls), *.xls") 'ファイル名を取得したら保存 If fName <> False Then ActiveWorkbook.SaveAs fName 同様の操作を2007以降で「マクロを有効にして保存」を行いたいのですが、どの様にすればいいのでしょうか? (自動保存では以下の様になる状態の事です。) ActiveWorkbook.SaveAs Filename:="#:\*******.xlsm", FileFormat:= _ xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False 2007の時の「'名前を付けて保存] ダイアログ ボックスを表示」の方法が分かりません。 共通の命令文では出来でしょうから、最終的にはエクセルのバージョンを取得して、IFで分岐させようと思っています。 宜しくお願い致します。

  • excelで、2つのセルの中身を統合・1つのセルの中身を分割

    excelにて、上記のようなことを行いたいのですが、今までは 2つのセルの中身を統合・・・A1にA2,A3の文字を表示[A1に"=A2&A3"と入力] 1つのセルの中身を分割・・・A1に入力した10桁の数字を前3桁、後ろ7桁に分割し、それぞれA2、A3に表示[A2に"=MID(A1,1,3)",A3に"=MID(A1,4,10)"と入力] としておりました。 今後、このデータをaccessでも使用したいので、セル内に関数ではなく、文字が残るような方法があれば教えていただきたいのです。 また、出来るだけマクロを使わない方法で教えていただけますでしょうか。 もしマクロでないと出来ない場合は、どのようなマクロを組めばよいか、ご指導お願い致します。

  • エクセル、マクロの事で・・・?

    ある1つのフォルダにエクセルシートがあります。 仮に・・・ A1のセルに「野菜類」B1のセルに「野菜について」 A2のセルに「肉類」 B2のセルに「肉について」 A3のセルに「酒類」 B2のセルに「酒について」 このようにあるとします。 場合によっては、3つで終わる場合もあれば、20ぐらいまで行く場合もあります。 そこでマクロを使いエクセルシートがあるフォルダ内に・・・ 「野菜類」 「肉類」 「酒類」 各フォルダを作成して、その各フォルダ内に「Bのセル名.txt」のファイルを作成したいと考えています。(.txtの中身は空です) 今は、手作業でやっているのですが数が多く間違えたりするので、マクロを使って行いたいのですが、その方法がわかりません。 そこで、大変申し訳なのですが、マクロの方法を教えていただけないでしょうか? よろしくお願いします。

  • Excelマクロでエクセルファイルのファイル名を変更して保存、他

    Excel97のマクロを使用して以下の作業を実施したいのですが どなたかご教示お願い致します。 1.フォルダ内の複数ファイルから任意の一つのファイルAを開き、そのファイルA内の任意のセル(1A)の文字列をファイル名にして保存する。 2.あるファイルBを開き、ファイルB内のあるセル(1A)の"文字列が含まれるフォルダ"を検索してそのフォルダ内に保存する。 3.あるフォルダ(\1)内のあるファイルCを開き所要の作業を実施し閉じたあと、そのファイルCを別のフォルダ(\2)へ移動する。 4.あるフォルダ(\3)内のファイルDを開き、ファイルDのファイル名と同じ文字列を含むフォルダ(\4)を検索し、そのフォルダ(\4)内から、 ファイルD内のあるセル(1A)の文字列と同じファイル名のファイルEを検索して開く。 いくつも質問して真に厚かましいですが 解る物だけでも結構ですので 何卒、宜しくお願い致します。

専門家に質問してみよう