A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
参考URLの田中先生のコードを借用して一行付け足すと、下記でできます。
Sub test()
Dim FSO As Object, buf As String
Set FSO = CreateObject("Scripting.FileSystemObject")
With FSO.GetFile("C:\Sample.txt").OpenAsTextStream
buf = .ReadAll
.Close
End With
Set FSO = Nothing
'buf = Replace(buf, vbCrLf, vbLf)
ActiveCell.Value = buf
End Sub
セル内改行はVbLFなので、vbCrLFから置換が必要かと思いましたが、しなくても大丈夫な様です。
参考URL:http://officetanaka.net/excel/vba/filesystemobje …
No.2
- 回答日時:
バイナリモードで開いてGetで一度に取得というのではいかがでしょうか。
テキストファイルの文字コードによっては文字化けしそうなので変換が必要そうですが・・。
以下サンプルです。
Sub Sample()
Dim intFileNum As Integer
Dim strFileName As String
Dim strBuf As String
' ファイルを開くダイアログを表示してファイル名を保存
strFileName = Application.GetOpenFilename()
' ファイル番号を取得
intFileNum = FreeFile
' ファイルの大きさ分のバッファを確保
strBuf = Space(FileLen(strFileName))
' ファイルをバイナリモードで開き内容を取得
Open strFileName For Binary As #intFileNum
Get #intFileNum, , strBuf
Close #intFileNum
' A1セルに書き込み
Range("A1").Value = strBuf
End Sub
No.1
- 回答日時:
この質問ぶりからすると、テキストファイルというものの理解が十分で無いようだ。
区切り文字のことも書いてない質問だから。
テキストファイルで、エクセルのシートと親和性の良い形式は
(下記でDはDelimiter区分文字を表す。
http://www.sophia-it.com/content/delimiter
デリミターとは、「カンマ」、「スペース」、「タブ」など(1半角英数の決った1つ)である。)
項目1+D+項目2+D+項目3+D+・・・+改行(+は直後に続いて行くことを示す)
項目1+D+項目2+D+項目3+D+・・・+改行
・・
(本当は「紐」(String)のようにレコード1+レコード2+・・順につながっている。)
の形式だ。ただし項目nが空白(データなし)の場合は「D+D」の場合もある。
改行のコードはどういうものか知ってますか。
OSのIOCSの方で、ある言語がデータを読み込むと、改行までを1レコードとして変数に入れてくれる指令がある場合が多い。
VBAの場合は Line Inputである。
GoogleでLine Inputで照会してみること。
http://officetanaka.net/excel/vba/statement/Line …
ほか沢山在る。こんなの読んで質問してますか。
ーー
1レコードを読むたびに変数にデータが入るが、これをエクセルのシートの各列に分けて代入したいわけ。
これに適したのがVBAのSplit関数だ。
http://officetanaka.net/excel/vba/tips/tips62.htm
など多数。
ーー
後は
・ファイルの1レコードを読むー>変数へ
・その変数をSplitでデリミタで分割ー>配列に
・項目数=シートの列数だけ繰り回して、セルに代入。
のレコード数分の繰り返しがプログラム。
ーー
ファイルのレコードの終わりの判定は勉強のこと。
====
エクセルには「データ」メニューに「区切り文字」があるのをご存知か。
A列の各行にデータを入れて、その後
これをマクロの記録を取り、そのコードを使う手もある。
ーーー
>どのように記述すればよいでしょうか
丸投げ的にコードのことを聞く前に、その前に、上記のような、勉強することがあるといいたい。
ーー
参考
上記で
・その変数をSplitでデリミタで分割ー>配列に
・項目数=シートの列数だけ繰り回して、セルに代入
といったが、繰り回ししなくても、エクセルVBAの場合
Sub test01()
s = "aaa,111,東京"
t = Split(s, ",")
Range("A1:c1") = t
End Sub
こういうこと(一発代入のコード)も、やってみると、出来るようだ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- 会計ソフト・業務用ソフト Excelマクロに詳しい方教えてください 1 2023/06/29 16:18
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Access2003】VBAでタブ区切り...
-
空白文字 \\f と\\v の違いに...
-
タブの色を変更する方法
-
バッチファイルの作り方(CSV→...
-
VBAでCSVファイルの特定行を書...
-
MATLABのm-fileについて
-
perlのcdについて
-
awkスクリプトでダブルクォーテ...
-
PerlからのCSV出力
-
close()で例外が投げられる理由
-
window.open でのファイル指定方法
-
Perl cgiの文字化けを直したい ...
-
複数のCSVファイルを一つのCSV...
-
VBAでCSVファイルを途中行まで...
-
fopenでディレクトリ内の全ファ...
-
htmlから、ファイル、もしくはC...
-
エクセルVBA コードが同じでも...
-
[arduino]数値の大きなデータを...
-
vba dir の相対パス
-
動画像から静止画を取り出すには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイルの作り方(CSV→...
-
タブの色を変更する方法
-
C言語で特定の行を抽出する方法...
-
VBAのFileFormatで悩んでいるこ...
-
空白文字 \\f と\\v の違いに...
-
【Access2003】VBAでタブ区切り...
-
【エクセル】改行無しテキスト...
-
VBAでタブ区切りテキストの保存...
-
VB6でのデータの編集(ファイル...
-
全角と半角文字が混在している...
-
Edge スクレイピング
-
EXELよりVBAを使ってTXTを書き...
-
連想配列について
-
Excelのマクロで改行を含んだテ...
-
htaccessで特定のディレクトリ...
-
CSVファイルのフォーマット
-
Flashで実現可能なのか知りたい
-
C++でファイルから複数行のデー...
-
perlによるデータのくっつけ方...
-
ファイルへデータ登録2
おすすめ情報