• 締切済み

テキスト出力時に色を付けるには

エクセルのマクロで読み込んだセルを以下のコマンドでテキストファイルに出力しています。 Print #1, Format(a, "@"); Chr(9); intime; "/"; outtime; Chr(9); text その際に条件によって特定のテキストにだけ色を付けることはできますでしょうか。 可能でしたら方法を教えてください。

  • homma
  • お礼率84% (744/884)

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

質問が不完全だと思う。 質問には、利用目的なりを、書いておくべきと思う。 それで回答者は回答をその方向で回答するのだ。それと望ましいのは、質問者のスキルも書いておくべきと思うが、こちらは抵抗があるだろうが。 == 具体的には、下記を説明のこと。 >テキストファイルに出力して、そのテキストファイルを何に使うのか。 1.紙に印刷して見るー>データチェックぐらいしか役立たないのでは 2.画面で表示して見るー>データチェックぐらいしか役立たないのでは 3.他のソフトに読み込みデータとして、読み込ます=>たとえば年賀状ソフトなど。  こちらのソフトに文字列(語句など)を色づける機能があればそれを使えばよい 4.データベースソフトに、読み込みデータとして、読み込ます。 こちらのソフトに文字列(語句など)を色づける機能があればそれを使えばよい   例アクセスなど。エクセル発祥のセルのデータなら、セル的な構造のもの(例アクセス)が最適だろう。 === そういうのでなければ、アウトプットした(する)テキストを下記に合うように(プログラムでなりに)改変(FONT color="のような)して <HTML> <HEAD> <TITLE> </TITLE> </HEAD> <BODY> 明日の天気は<FONT color="blue">雪</FONT>だそうです。<==テキストの部分 </BODY> </HTML> とでもして、拡張子.htmで保存し、IE(ブラウザソフト)で読み込ませれば、 画面に「明日の天気は雪(<-青色)だそうです」と出るよ。 これはテキストではあるが、構造的なもの(約束ごと)があり(すなわち「プレーンテキスト」ではない)、それを解析して表示するソフト(ブラウザ)は身近なものだ。 これも回答として的外れだろうが、テキストファイルからの連想で書いてみる。

homma
質問者

お礼

回答ありがとうございました。 質問方法の指摘ですが大変参考になりました。 これからは今回のご指摘を参考に質問させていただきます。 お礼メールが遅れましたことお詫びいたします。

noname#228894
noname#228894
回答No.4

すでに回答されている通りで、ふつ~のプレーンテキストは色情報を持ちません。なので部分的に色を変えたければ、HTMLやRTFなどの形式を使用し、それのフォーマットに従った方法で色指定をする必要があります。 ただし、作成されたテキストを開くソフトが色指定を解釈するものでなければ当然色は出ませんし、解釈するものでもそのソフトが対応している形式でテキストを作成しなければ、色が出る出ない以前に開けもしないなんてことになります(ちなみにExcelでは無理ですよ)。現状はそれに対する言及が一切ないため、できもしないことをやろうとして、あさっての方に向いて頑張ろうとしてるだけなんじゃないの?みたいな展開に陥ろうとしているように見えます。

  • titokani
  • ベストアンサー率19% (341/1726)
回答No.3

#1です。 >RTFを検索したところ意図したファイルではないことを認識しました。 ということですが、そもそも、何のために、何のデータをテキストファイルに出力していて、何のために色をつけたいのでしょうか? それがわかれば、有用な回答が得られる可能性もあると思います。

homma
質問者

お礼

何度も回答ありがとうございました。 単純にセルデータを単純なテキストファイルで出力するというもので、特定条件で出力されるセルにのみ色を付けたいと考えていました。 特定のテキストに色を付けるという動作を理解していませんでした。 お手数をおかけしました。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

出力したファイルを「どういうソフト」で読み、表示(多分ディスプレイに)するかによるが、テキストには文字色(フォントの色)や文字を表示する「地」の部分について、ここだけ色を付けるという、約束された仕組みが一切ないので、鼻から無理なことで、コンピューターを扱う者の常識だよ。以前は白黒が当たり前だったのだよ。特別高価な機材と、特製のソフト以外ではね。 テキストファイルは、最低では、「メモ帳」などで表示される形式だ。 (1)、(文字列・数値の色が、文字列の)ここで始まり、ここで終わるという情報の約束ごとの決められていないファイル形式だ (2)色をどういう風に定義するかの決め事もない、(約束ごとの決められていない)ファイル形式だ(歴史的・発展的に根源的)。 もっとファイル構造やファイル形式のことを勉強のこと。 テキスト形式やワード形式などの中間に、リッチテキストファイル形式というのがある。 これでも考えるとかはどうかな。ただ表示できるソフトがいるのと、VB(.NET)でも使わないとできないかも.。

homma
質問者

お礼

回答ありがとうございました。 いいわけですが中途半端なコンピューター知識で質問していました。 大変勉強になりました。

  • titokani
  • ベストアンサー率19% (341/1726)
回答No.1

プレーンテキストでは、色は使えません。 htmlやrtf等、色を使えるフォーマットで出力する必要があります。

homma
質問者

お礼

回答ありがとうございました。 お手数ですがrtfなどに出力する方法などご存知でしたら教えていただけないでしょうか。

homma
質問者

補足

大変失礼いたしました。 RTFを検索したところ意図したファイルではないことを認識しました。 お礼コメントでの質問を取り消します。 ありがとうございました。

関連するQ&A

  • テキストをUNICODEで記録するには

    現在エクセルVBAで以下のコードを使用してセルから読み込んだデータをテキストファイルに変換するプログラムを使用しています。 今回下記のコードだと文字化けしてしまう文字(韓国語)を扱うことになりました。 エクセルの保存形式を「Unicode」で保存すると問題なくテキストができることがわかりました。 そこで下記のプルグラムで保存形式を「Unicode」で保存する方法を教えてください。 ターゲットになる変数は「text」という変数です。 よろしくお願いします。 Open "x:\文字.txt" For Append As #1 If a = "" Then Print #1, Chr(9); text Else Print #1, Format(a, "@"); Chr(9); intime; "/"; outtime; Chr(9); text No = No + 1 End If Close #1 n = n + 1

  • VBAでテキスト出力時のスペースについて

    VBAで下記のようなテキスト出力を書いたのですが 出力されたテキストファイルの「No」部分の頭と数字のあとに半角スペースが入ってしまします。 半角スペースなしに出力させる方法を教えてください。 ちなみに「No」は書式指定なしの数字です。 Print #1, No; Chr(9); Intime; "/"; OutTime; Chr(9); text よろしくお願いします。

  • エクセルマクロでテキスト出力の方法は

    お世話になります。 エクセルのマクロで複数の任意のセルデータをテキストファイルに出力する方法を教えてください。 ターゲットのセルは上段から順に下へ移動しながらテキストファイルにも一行ずつ出力させることを目的にしています。

  • 軽いデータで出力

    初心者です。 Excel2000で決まったテンプレートを使用しています。 必要な情報のみ残したいので A1のセルとA5~F100までの情報のみ テキストなどの軽いデータで出力したいです (区切りはいりません) コマンドボタンでファイル名を入力して 出力する形がいいのですが出来ますか? 勝手を言って申し訳ないのですが 出来ればマクロの記述をご教授願います。

  • エクセル(VBA)でファイル出力時

    エクセル(VBA)でテキストファイル出力時 リターンコードはどうやって記述するのでしょうか? chr(9)はタブ chr(10)はラインフィード chr(13)はキャリッジリターン らしいんですがリターンコードはなんでしょうか? 宜しくお願いします

  • テキストファイルが登録されたら、マクロを実行する方法

    あるフォルダにテキストファイルが登録されたら、それをexcelの特定セルへ読み込み、読み込んだテキストファイルを削除というマクロを作成しました。 これを、連続的に実行させる方法はあるでしょうか? テキストファイルが登録される度に表示を繰り返すという内容です。 コマンドボタンで起動するマクロのトリガを、コマンドボタンを使用しないで、ファイルが登録された時点で実施したいというおもいです。 テキストファイルの名前は常に一定です(FILE.txt)。

  • cmdで略された結果をテキスト出力したいのですが

    続けてお世話になります   以下のようにコマンドプロンプトで略された結果 000004:ぅぁぁ から 1000000:ゅにく など飛んでしまった出力を テキストファイルに全て略さず出力することはできますか?  どなたかご教授お願い致します

  • エクセルVBAでテキストを出力したい

    エクセルVBAでテキストを出力したいのですが、 やり方がわからないので教えてください。 仮にSheet2のA列に文章があるとして、 シート全体を1つのテキストファイルとして出力し、 ファイル名をSheet1のA1セルにしたいです。 同じような質問もあるのですが、ファイル名に関しては、 ちょっと見当たらなかったので質問しています。

  • diffコマンドにてテキスト出力

    こんばんは。教えてください! 以下のような2つのファイルがあるとします。 ・aaa.txt abc111 abc222 abc333 ・bbb.txt abc333 abc444 これを比較して、比較結果をテキスト出力したいです。 テキスト出力したい比較結果は (1)重複しているもの全てテキスト出力 (2)aaa.txtのみにあるものをテキスト出力 (3)bbb.txtのみにあるものをテキスト出力 また、(1)~(3)は別々のファイルに出力したいです。 diffコマンドで、 diff a.txt b.txt >> c.txt とすると、 1つのテキストファイル(c.txt)に (1)~(3)すべてが書かれてしまいます。 環境は、windows XPにてCygwinを使用しています。 diffコマンドでなくても構いません。 宜しくお願いします。

  • ACCESS Excelの出力について

    stressmanといいます。 実は、ACCESSでクエリをExcelへ出力をしたいのですが、 ここで、既存のExcelのファイルのセルを指定して出力 というこはできるのでしょうか? 選択クエリで必要な情報を抜き出し、そのクエリを 「営業報告書.xls」というファイルのあらかじめ記載して ある「顧客名」「住所」のセルに格納していきたいのです。 マクロで「コマンド実行」-「Excel出力」を使って みたのですが、新しくファイルを開き、クエリのデザイン そのままで出力されます。 宜しくお願いします。

専門家に質問してみよう