プロが教える店舗&オフィスのセキュリティ対策術

メモ帳で作ったHTMLを、エクセルの一つのセル内にコピーしたいのですが、この時、改行<BR>をALT+ENTERに一括変換したいのです。
また、メモ帳で改行しているENTERのコードも抹殺削除しないと不要な改行まですると思います。
以上の2つの作業が一括でできたら更に良いと思いますが方法が判りません。
また、メモ帳のように単純なフリーソフトで改行を最初からALT+ENTERで扱えたり、改行コード変換が簡単なフリーソフトがありましたら是非、ご紹介下さい。

A 回答 (14件中11~14件)

こんにちは。



ご面倒を掛けてたいへんすみません。

>テストするには、エクセルファイルの中身をどのようにしていれば判り易いのでしょうか?

サンプルコードで、Logを保存するところを手抜きしたのがいけなかったのでした。まったく、気が付きませんでした。(自分が今使っているものも直さないといけないようです。)

それから、これは、メモ帳に出すものであって、シートには出しません。その理由は、余計なものが一杯あるからです。それを抜き出す技術がなかなか面倒なのです。

WebLog.txtというファイルは、たぶん、Excelのデフォルトフォルダ(オプションで登録しているところ)のはずです。それで、コードの以下の部分を訂正してください。

'ログ検査用
Fno = FreeFile()
× Open "WebLog.txt" For Output As #Fno  ←
 ↓
以下に換えてください。

'ログ検査用
Fno = FreeFile()
Open ThisWorkbook.Path & "WebLog.txt" For Output As #Fno '○

新規ブックで、テキスト保存されるのがデフォルトパスですから、良いと思ったのですが、確かに、使っているブックとフォルダが別なことがありますね。とりあえず、これで様子をみてくれませんか?

このコードは、あくまでも、テスト用なのです。うまくいったら、これを、ご自身の使われるURLに変更して試してください。

もし、これでよいことになれば、ご要望しだいでは、ある程度、シートへの対応も可能だと思います。ご面倒をおかけしますが、諦めずに、よろしくお願いします。

この回答への補足

入れ替えて、コマンドボタンをクリックしました。

【WebLog.txtと言う名前でこのブックと同じフォルダに保存されました。】が出ましたが、同じフォルダに何もファイルが追加されません。

【OK】をクリックすると、【・・\MYフォルダ\WebLog.txtが見つかりません。新しく作成しますか?・・が出ます。

「はいY」】はいをクリックしたら空白中身のメモ帳ファイルがWebLog.txtとしてできています。同じのようです。
ご指摘どおり入れ替えができているのか、コードの表示で再確認しましたが、入れ替えはできているようです。

たびたび、ご面倒をお掛けして申し訳け御座いません。

補足日時:2005/10/02 15:40
    • good
    • 0

こんばんは。



ごめんなさい。もう一度、お願いします。
重ね重ねすみません。

Open ThisWorkbook.Path & "WebLog.txt" For Output As #Fno '○
  ↓
Open ThisWorkbook.Path & "\WebLog.txt" For Output As #Fno 

とWeblog.textの前に、「\」を入れてみてください。

この回答への補足

自分のURLに替えて実行したところ、文字だけが、きちんと、抜き出されていました。
本当に有難う御座いました。

コマンドボタン1つに対して、サブルーチンは1つですか?複数、連続してもいいのですか?
それと、コマンドボタンは、エクセルファイルの中に、複数、配置できますか?

最後に、
私は、根本的な事が解かっていません。

HTML文のテキストの中に、ビジュアルベーシックをJavaのように、はめ込みして使えますか?それとも、逆でしょうか?

BVAのプログラムファイルをサーバに転送しておいて、HTMLから呼び出し実行して使用できますか?

BVAだけで色々な全てができそうには思えるのですが、後後の使い勝手の事も考えて、どういうスタイルが向いているのか検討したいと思います。

ビジュアルベーシックに、はめ込むBASIC命令語は、どんな参考書で習得しやすいですか?

いくつも、質問して誠に申し訳け御座いません。
宜しくお願い申し上げます。

補足日時:2005/10/02 22:32
    • good
    • 0

こんばんは。



今回は、手数を掛けてさせて、誠にすみませんでした。穴があったら入りたいぐらいのミスでした。良く辛抱してくださいました。m(__)m

それと、最後の
Quit:
objIE.Quit '← 一応、これを入れておいてください。万が一です。
Set objIE = Nothing

本来は、自分のシステムをお見せ出来ると、最初から、こんなことにはならなかったのですが。途中で、投げ出したりする方が大半なので、私は、掲示板に書く時は、全部を書かないようにしていたことが、災いになってしまいました。(他人のコードは読めないということも、また正しいのですが。)

>コマンドボタン1つに対して、サブルーチンは1つですか?複数、連続してもいいのですか?

サブルーチンにしても構いません、というか、本来は、サブルーチンのほうが一段上の使い方です。

ただし、VBAでは、昔のBASIC のように、メイン・コードとサブルーチン・コードという区分けがありません。したがって、SUB と書いてあっても、SUBルーチンではなく、プロシージャと呼んでいます。もちろん、VBAでも、SUBを使わないで方法はあるのですが、あまり使いません。一般的に、VBAでは、CALLされるプロシージャや、引数を取るプロシージャがサブルーチンです。

その場合、

Call プロシージャ名

で呼んで(Callして)ください。そのプロシージャーは、標準モジュールに書くのが最適です。また、そのプロシージャ名には、Public ステートメントをつける必要はありません。

つまり、最初書いた、Sub InternetContent()~End Sub を標準モジュールにおいて、

Privete CommandButton1_Click()
 Call InternetContent
 'ここに、Call プロシージャ名を入れていきます。
End Sub

としたほうが、いろんな意味でよいのです。

>それと、コマンドボタンは、エクセルファイルの中に、複数、配置できますか?

何個でもよいです。限界があったはずですが、常識的に、10数個ぐらいは問題ありません。ただ、アクセスする場所が変わるということでしたら、
SUB プロシージャ名(URL)
.Navigate URL
 ・
 ・
として、 CALL プロシージャ名(アドレス)
としたら、サブルーチン・プロシージャはひとつで足ります。

>HTML文のテキストの中に、ビジュアルベーシックをJavaのように、はめ込みして使えますか?それとも、逆でしょうか?

JavaScript のことだと思いますが、こちらの方が圧倒的にメジャーですね。でも、Visual Basic とは言いませんが、その兄弟の VBScript という種類もつかわれます。以下のように宣言をしてあげるだけです。表現力が、やはり、JavaScriptのほうが上なのですが、使い方が簡単です。
------------------------
  <script language="VBScript">
------------------------
少し、ややこしいのは、Windows Script Host とも似ていますが、そのものずばりでもありません。Visual Basic などからすると、かなり命令が減ります。

VBScript:
http://www.microsoft.com/japan/msdn/library/ja
/script56/html/vtoriVBScript.asp

>ビジュアルベーシックに、はめ込むBASIC命令語は、どんな参考書で習得しやすいですか?

ExcelのVBAの一覧表のネット上では、ここで足ります。

http://www.microsoft.com/japan/msdn/library/ja
/off2000/vbaxl/html/xlmscobjectmodelchanges2000.asp?

参考図書として、Excel VBAの基礎的なことは、同じカテゴリの
「No.1687132 質問:マクロの学習法について :2005/10/2 14:14:00」
の#1 の文末に参考図書のサイトを入れておきました。

今回のようなインターネット関係の場合は、「ASP」という種類のものです。私は、買おう買おうと思いながら、まだ、参考書を購入していません。今の私は、手探りです。

それから、ダウンロードしたテキストなどを、本格的に切り分け作業になど用いるのは、やはり、HTMLそのもののコマンド集や正規表現(RegularExpression)というものを参考にしながら使います。これらは、Visual Basic 関連には直接には出てこないものです。それらは、バラバラの資料から、自分で調べて学習するしかありません。

正規表現:
http://www.microsoft.com/japan/msdn/columns/
scripting/scripting051099.asp

※上記に掲げているURL は、メモ帳などで、つなげてから、アクセスしてください。
    • good
    • 0
この回答へのお礼

最後の正規表現以外のURLは、表示が拒否されました。
以下の表示がありました。

このページの表示が認められていません
このディレクトリを表示するアクセス許可がないか、提供されたアカウント情報を使用してページを表示するアクセス許可がない可能性があります。


いろいろ丁寧に有難う御座いました。
今後、の参考になりました。

お礼日時:2005/10/04 17:39

こんばんは。



>最後の正規表現以外のURLは、表示が拒否されました
もう一度、掲示します。すみません。
区切れのないURLを掲示すると、画面が広がるので、分かち書きしたのがいけなかったようです。

正規表現は、Perl 準拠のほうがよいのですが、Windowsの場合は、かなり表現力が落ちます。それでも、なんとか、Webサイトの情報を拾ってきてくれますので、他のものを使わずに、Windowsのものを使っています。

参考URL:http://www.microsoft.com/japan/msdn/columns/scri …
    • good
    • 0
この回答へのお礼

少しずつ試していきたいと思います。

いろいろお教え頂きまして誠に有難う御座いました。

お礼日時:2005/10/05 05:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!