![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
Microsoft WORDのマクロ機能(Visaual Basic6.0)を使って、Microsoft Wordの文章支援ツールを作成しています。
しかし、導入するPCがWindow Server2003英語版上のMicrosoft Wordで、このOSはSJISの文字コード対応していないようで、文字化けしてしまい、困っています。
このマクロは、ツリービューに表示した文字列を、Wordに挿入するだけのソフトですが、使用しているツリービュー(Tree View, Microsoft TreeView Control version 6.0)コントロールはSJISしか日本語を表示してくれません。しかし、WordにはSJISの文字列を挿入しても、文字化けします。このPC上の日本語はユニコードで入力されるようです。このPC上では、テキストファイル内の日本語やVisual Basic上の日本語コメントなどSJISで書かれた文字はすべてが文字化けします。
SJISをユニコードに変換してから、Wordへ挿入など試しましたが、依然文字化けして表示されます。
このマクロを別PCのWindows XP、VISTA上のWordで実行すると、文字化けせずに表示されます。
何かいい解決策はないでしょうか?
No.3ベストアンサー
- 回答日時:
誠にすみません!私は、読み間違い/勘違いをしてしまいました。
私も英語版では、VBEditor 上では、まったく同じです。解決策はありませんでした。
>このマクロを別PCのWindows XP、VISTA上のWordで実行すると、文字化けせずに表示されます。
逆に、質問文にあった、こちらの方がどうしてなのか分かりません。
Office 2007では、英語バージョンでも、ほとんど問題なく日本語表示が利きます。しかし、VBEdiotor 側は、いろいろ試してみましたが、日本語表示は利きません。オプションで、日本語のMs Gothic など試してみましたが、Document への挿入とかは出来ません。もしかしたら、Multilingual CD(有償)などを利用しなくてはならないのかもしれません。
>SJISをユニコードに変換してから、Wordへ挿入など試しましたが、依然文字化けして表示されます。
単語の部分は、Unicode の変換は必要ありませんが、私は、こんなことしかできませんでした。
Selection.Range.InsertAfter ChrW(&H65E5) & ChrW(&H672C) & ChrW(&H8A9E)
これは、あえて、ChrやChrW を使わずとも、同じ構造なら、配列でbinary にしても、可能だと思います。
たぶん、どこかには、この問題については書かれているはずですが、今は、この件は、そのままになっています。
私自身のアイデアですが、Active X などの表示は無理ですから、MsgBox も出来ません。
Sub Test1() '←これは別のパソコンで作るか、Document から文字コードを取る
Dim a() As Byte
Dim n As Variant
a = "日本語を表示する"
For Each n In a
Debug.Print n 'Imeadiate Window で取る
Next
End Sub
Sub Test2() '←VBEで日本語を表示せずに日本語を挿入する
Dim a() As Byte
Dim buf As Variant
Dim i As Long
buf = Split("229,101,44,103,158,138,146,48,104,136,58,121,89,48,139,48", ",")
ReDim a(UBound(buf))
For i = 0 To UBound(buf)
a(i) = buf(i)
Next
Selection.InsertAfter CStr(a)
End Sub
この回答への補足
>このマクロを別PCのWindows XP、VISTA上のWordで実行すると、文字化けせずに表示されます。
これらのPCは、以下が「Japanese」になっているからだと思われます。以下の設定を「英語(米国)」にするとこれらのPCでもまったく同じ現象がおこりました。VBのコメントなどSJISで書かれた文字が全て文字化けします。やはりユニコード対応しないと以下の設定が「英語(米国)」場合、文字化けしてしまうようです。
Regional and Langage Option画面の[Advanced]タブ、Language for non-Unicode programs」
今から、アドバイスいただいた方法を試してみます。助かります。ありがとうございました。
上記で教えていただいた方法を試しても駄目でした。
しょうがないので、なんとかこのサーバーの管理者に頼んで、
Regional and Langage Option画面の[Advanced]タブ、Language for non-Unicode programs」を「Japanese」
に変更してもらいました。
その変更により、文字化けは解消されました。
ご回答、ありがとうございました。
No.2
- 回答日時:
#1で触れましたが、Unicode とは言っても、アジアの言語のフォントが入っていないことがありますから、日本語のフォントは確認していますでしょうか?
http://www.daw-pc.info/windows/jpcorrespond.htm
2.日本語フォントをインストールします
Fontには、MS Gothic & MS PGothic & MS UI Gothic (True type)、MS Mincho & MS PMincho(True Type)は入っております。IMEの日本語対応はされていて、Wordで日本語入力が可能なので、日本語の言語フォントは入っているのではないでしょうか?
教えていただいたページのうち、下記以外の項目は日本語設定ができています。
「[Advanced]タブをからLanguage for non-Unicode programsでJapaneseを選択」
この設定は、現在このPCにAdministratorでログインできないため、設定変更できません。OS側でLanguage for non-Unicode programsの設定を変更するのでなく、ソフト側でUnicode対応をしようと努力しています。
Regional and Langage Option画面Languagesタブの「Supplemental language support」で「Install files for east Asian languages」はチェックONになっています。
No.1
- 回答日時:
「PCがWindow Server2003英語版上のMicrosoft Word」
と
「OSはSJISの文字コード対応していない」
とは条件が違います。Microsoft Wordも英語バージョンということなら、
スタートメニューのOffice のメニューに、Langauge Setting があったはずです。
日本語のフォントはいれてあるものとします。
それで、日本語を使用するようにしてあればよかったと思います。それをしていないと、表示出来ません。
それで、Word で日本語が保存できないようなら、VBEditor 側から、ThisWorkbook のブロパティから、SaveEncording から、Unicode などを選べばよいと思います。
ご回答ありがとうございます。このサーバーは、アメリカの企業が提供しているもので、それをアメリカのNewYorkにある日系企業が導入しています。もともとアメリカ企業向けサーバーなので、OSもMS Wordも英語版です。それを日本語の入力と表示を可能にして、リモートデスクトップでアクセスし、利用しています。
WordのLanguage settingは日本語が追加されていました。Word上でキーボードでは、日本語入力が可能です。また日本語の表示は可能です。別のPCで日本語入力(SJIS)したファイルをこのPCで開くと日本語部分が文字化けします。そのファイルをユニコード変換した後に表示すると正しく日本語が表示されます。
作成したマクロから、Word上で日本語を入力すると文字化けします。VBEditor 側から、ThisWorkbook のブロパティで、SaveEncording をUnicodeにしてやってみましたが、やっぱり文字化けしてしまいました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(パソコン・周辺機器) WINDOWS11 IMEの日本語入力で困っています 4 2023/04/29 19:24
- PDF acrobatでwordファイルをpdfに変換すると文字化けする 3 2023/02/10 09:31
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- その他(ソフトウェア) 簡単な絵が描けるソフト(wordに挿入) 3 2022/05/20 22:16
- その他(メールソフト・メールサービス) メールソフトを教えてください 1 2023/03/28 23:32
- Word(ワード) Office 365のWordでオブジェクト挿入であるWord文書にほかのWord文書やPDFを貼り 2 2022/05/09 15:57
- PDF 「PDF文書を簡単にWordで編集する方法」と 罫線が 図形で出力されるのは? 6 2022/06/14 06:51
- Word(ワード) Wordに関して詳しい方教えてください。 Wordで文章を打つ際、写真のように、本文のところに文字が 4 2022/05/23 00:51
- ノートパソコン wordの文字が飛ぶのを抑えたい 4 2023/03/18 15:15
- Word(ワード) PCで作ったwordをスマホで編集しようとすると「このファイルは読み取り専用です。」と表示される。 3 2023/05/30 14:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
outlook 文字を揃えたい。tab...
-
マイクロ(μ)の文字を半角で出...
-
教えてください。
-
「MS Pゴシック」と同じ幅の...
-
英語版OSでの遊明朝、游ゴシック
-
ワードでゴシックの文字を太く...
-
MsgBoxについて
-
C# Font GdiCharSet
-
Visual C++ 6.0 行番号の表示
-
VB6とVB.NETでは同じフォントで...
-
Eclipseで文字がずれます。
-
VB6.0でLabelに表示する文字を...
-
CSS SafariでMS P ゴシックを表...
-
似ているフォント(Win⇔Mac)
-
Dreamweaverでフォントが反映さ...
-
WORD VBAでハイパーリ...
-
Visual c++6.0 表示フォントを...
-
font-family の記載方法
-
Excel:一部のフォントでセルの...
-
WORD全角入力しても半角に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
outlook 文字を揃えたい。tab...
-
マイクロ(μ)の文字を半角で出...
-
教えてください。
-
MsgBoxについて
-
似ているフォント(Win⇔Mac)
-
「MS Pゴシック」と同じ幅の...
-
英語版OSでの遊明朝、游ゴシック
-
font-family の記載方法
-
ワードでゴシックの文字を太く...
-
メールで、榊の文字を木辺に神...
-
16x16のスプライトフォント
-
C# Font GdiCharSet
-
フォントファイル(.ttf , .otf)...
-
Visual C++ 6.0 行番号の表示
-
縦書きテキストボックスの表示"...
-
エクセルVBAが中国のPCでは動か...
-
WORD全角入力しても半角に...
-
Wordで、指定したフォント...
-
エクセルの代替フォントを指定...
-
CreateFontIndirectとは?
おすすめ情報