人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

複数のテキストファイル(html,txt)を一つのエクセルもしくはCSVのファイルに統合したいと思っています。

ネットショップを運営していて商品ページのUPをcsvファイルで一括アップロードをしています。

その際、たとえば001?010という品番の商品を登録するのであれば、それぞれの説明文などをHTMLで作成します。
(001.html,002.html?010.htmlという感じで10個のHTMLファイルを作成)
その後一つ一つ開いてエクセルのセルを選択しコピペしていくのですが、この手間をうまく省けないかと思っております。

1つのエクセルファイル上で対象のセルに外部テキストファイルなどを一気に呼び込む方法などはあるのでしょうか?


初めての質問で説明不足、失礼等あれば申し訳ないです。
ご回答のほど宜しくお願い申し上げます。

1256199663
●拡大する

●質問者: OUTWORLD@岡村
●カテゴリ:コンピュータ インターネット
✍キーワード:CSV HTML txt アップロード エクセル
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● emu2929
●35ポイント

ExcelVBA(マクロ)を使用すれば実現可能です。

ただ、VBAで組むとなるとある程度の知識が必要になるので、

マクロを組んだ経験がないと、少し大変かもしれません。

■VBAによるテキストデータの読み込み

http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110.html

◎質問者からの返答

ご回答ありがとうございます。

マクロを使ったことがないのですぐにできそうにありませんが、少しずつ勉強しながらやってみたいと思います。


2 ● SALINGER
●35ポイント ベストアンサー

だいたいVBAでやる方法としては、こんな感じになると思います。

Sub test()
  '実際のテキストデータのあるフォルダに変更
 Const DataPath = "C:\Documents and Settings\hogehoge\デスクトップ\data"
 Dim FSO
 Dim myFile
 Dim TS
 Dim lastRow As Long
 Dim i As Long
 Dim fulPath As String
 
 Set FSO = CreateObject("Scripting.FileSystemObject")

 lastRow = Cells(Rows.Count, 1).End(xlUp).Row
 
 For i = 2 To lastRow
  '最後の拡張子はテキストの場合は.txtに変更
 fulPath = DataPath & "\" & Cells(i, 1).Value & ".html"
 If FSO.FileExists(fulPath) Then
 Set TS = FSO.opentextfile(fulPath)
 Cells(i, 2).Value = TS.readall
 Set TS = Nothing
 End If
 Next i
 
 Set FSO = Nothing

End Sub

ただし、これはHTMLファイルをテキストデータとしてそのまま読み込みますので

HTML内の商品の説明の部分をだけを抜き出す場合は、どのようなHTMLなのかが必要です。

◎質問者からの返答

ご回答ありがとうございます。

マクロを使ったことがないのですぐにできそうにありませんが、少しずつ勉強しながらやってみたいと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ