プロが教えるわが家の防犯対策術!

WORDで、文章中の段落ごとのつけた数字([0001]…[0054]…)を連番に置換する「Visual Basic」のマクロを利用し始めたのですが…

元のマクロコードでは全角を扱っていて、たとえば【0015】→【0012】に置換するようになっており、これを半角[0015]→[0012]にしたいのです。

問題のマクロコードです。〔(1)と(3)のコードを変更しました。〕
 (1) .Text = "[^#^#^#^#]"        ←【^#^#^#^#】を変更しました
 (2) .Replacement.Text = ""
    :
★(3) AddStr = "[" + StrConv(Format(Num, "0000"), vbWide) + "]"
    :
 (4) If Flg_Conv = 1 Then
 (5) MsgBox StrConv(Num - 1, vbWide) + "個の番号を置換しました", , Msg_Title
 (6) Else

(3)のところで数字が「全角」になるようになっていると思うのですが、これをどのように変更すれば、半角の数字になるのでしょうか?

よろしくお願いします。

A 回答 (3件)

全角を半角にする場合は、


data=StrConv("ABC",vbNarrow)とすると
data="ABC"に変わるはずです。
vbWideは半角→全角です。
    • good
    • 0
この回答へのお礼

お教えいただいた点を参考にマクロコードを変更したところ…うまくいきました(感激!)。

変更点は AddStr = "[" + StrConv(Format(Num, "0000"), vbWide) + "]"

の[vbWide]を[vbNarrow]に変えただけですが…分からないもので、どうなるか心配でした。

本当にありがとうございました。

お礼日時:2004/09/02 17:25

> 「Visual Basicのヘルプがありません」と表示されます。



インストールしましょう。
CDがない場合は、キーワード「VB」、「StrConv」、「半角」、「変換」で検索すれば、必要な情報が見つかります。

http://www.google.co.jp/search?hl=ja&ie=UTF-8&q= …

参考URL:http://www.google.co.jp/search?hl=ja&ie=UTF-8&q= …
    • good
    • 0
この回答へのお礼

とりあえず、解決しました。 時間をみて「ヘルプ」のインストールに挑戦してみます。
ありがとうございました。

お礼日時:2004/09/02 17:26

StrConv関数をヘルプで調べてください。

    • good
    • 0
この回答へのお礼

ありがとうございます。

「Visual Basic」の知識がないもので「StrConv関数」の調べようがありません。WORDの「Visual Basic編集」で「Visual Basicのヘルプがありません」と表示されます。

BASICの場合ですと、全角⇔半角の変換は「KACONV$」「AKCONV$」や「CHR$」「STR$」等々の関数でなんとでもなるのですが…。

「Visual Basic」をご存知の方でしたら、
  AddStr = "[" + StrConv(Format(Num, "0000"), vbWide) + "]"
の関数を変えるなどの方法で簡単に解決できると思ったのですが…。

すみませんが、具体的にお教えいただけないでしょうか。

お礼日時:2004/09/02 16:09

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