
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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Edge スクレイピング
-
【エクセル】改行無しテキスト...
-
バッチファイルの作り方(CSV→...
-
空白文字 \\f と\\v の違いに...
-
タブの色を変更する方法
-
C言語で特定の行を抽出する方法...
-
【Access2003】VBAでタブ区切り...
-
エクセルVBA コードが同じでも...
-
JSP URLに表示される拡張子 .jsp
-
ExcelをCSV書き出す場合のシー...
-
ディレクトリ名を取得したい
-
Perlの初心者です。2重ループ...
-
Windowsで複数のファイルを同じ...
-
awkスクリプトでダブルクォーテ...
-
python renameについて
-
batファイルでrenameができませ...
-
window.open でのファイル指定方法
-
VBAでCSVファイルの特定行を書...
-
FindFirstFileとFindNextFileで...
-
MATLAB グローバル変数の宣言
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイルの作り方(CSV→...
-
C言語で特定の行を抽出する方法...
-
【エクセル】改行無しテキスト...
-
タブの色を変更する方法
-
Edge スクレイピング
-
デルファイ TabControl タブの...
-
全角と半角文字が混在している...
-
Excelのマクロで改行を含んだテ...
-
空白文字 \\f と\\v の違いに...
-
VBAでタブ区切りテキストの保存...
-
VBAのFileFormatで悩んでいるこ...
-
【Access2003】VBAでタブ区切り...
-
VB6でのデータの編集(ファイル...
-
htaccessで特定のディレクトリ...
-
テキストファイル(tsv)を改行...
-
テキストファイルでタブ文字を...
-
タブコントロールに付いて
-
PHPのfgetcsvのデリミタについて
-
AccessからExcelをタブ指定で開...
-
VBAでCSVファイルを途中行まで...
おすすめ情報