Microsoft Visual Basic 6.0で、ハングル文字を入力するには、どうすれば良いのですか?

このQ&Aに関連する最新のQ&A

A 回答 (6件)

VBは内部でUNICODEという国際文字コードを使っているにも関わらず、表示部にはShiftJISを使っています。


だから、ハートマークとかVBのテキストボックスにコピペしても、?になってしまいます。
同様に、ハングル文字も理解できないと思います。
たぶん、言語の設定でもどうしようもないと思います。

逃策としては、コンポーネントの中にあるDHTMLコントロールなら、IE同様の文字コードを認識できるので、そこに&#nn;で入力するとか・・・。
    • good
    • 0
この回答へのお礼

IEに直接文字コードを入力すると表示するのは、やったことがあるのですが、
コンポーネントの中にあるDHTMLコントロールは、使ったことがないので、早速調べて使用してみます。

お礼日時:2001/12/13 14:33

win95系ではダメなのですか?


知らなかったです。。。m(__)m
    • good
    • 0

補足ですが、テキストボックスをAPIで作成する場合、Windows NT/2000/XPでなければ、UNICODEに対応したテキストボックスを作る関数は呼び出せません。


それはたとえば、Windows98/MEの "ファイル名を指定して実行" のテキストボックスにハートマークが書けないのと同じです。
NT系は書けます。

ちなみに、フォント自体は、Windows98以降に付属してるMSフォントなら、UNICODEに対応しています。
95のときに比べて、ファイルサイズが2倍くらいになっているのはそれが原因です。
    • good
    • 0

> VBでは、??となってしまいます。



テキストボックスのフォントが"MS Pゴシック"になっている
ので、フォントをハングル系に変えてみては?
    • good
    • 0
この回答へのお礼

ハングル文字がどのフォントに対応しているのか分からないので、調査中です。

お礼日時:2001/12/13 15:21

確かに#2の発言したとおり、VBのテキストボックスは使用できないようですね。



でも、標準コントロール以外も使用するのはちょっと怖いような気がします。
テキストボックスをAPIで作成するほうが安全だと思います。
地域によってDLLが多少違ったりするので、DLLをどのように使用しているかがわからないコントロールはあまり使用しないことがベストです。

ユーザーに入力をさせるのですか?
それともプログラムから文字列をテキストボックスにセットするのですか?

ユーザーが入力を行わないのであれば、テキストボックスのようなピクチャボックスを作成し、Paintする手もあります。

各ハングル文字はリソースファイル/DB/テキストファイルのいずれかで保存しておくと便利です。リソースファイルは地域に対応した保存形式を選択する必要がありますので、注意してください。
    • good
    • 0
この回答へのお礼

素早い対応、誠にありがとうございます。

標準コントロール以外で使用するには、怖いですか・・・
それでは、TAGOSAKU7様のおっしゃるテキストボックスをAPIで作成する方法を
使用してみます。

最終的には、ユーザーに入力させる事も考えておりますが、現時点では、対応するすべがなく、英語で対応する事を考えております。

DBにハングル文字を保存したいのですが、こちらもハングル文字を入力すると…と表示してしまいます。データ型もnchar,nvarcharでは、…で保存できたのですが、実際、値を取り出してどう表示するのかも確認してません。列名には、ハングル文字を入力(貼り付け)すると、見た目では、ハングル文字なのですが、テーブルを開いてみると…と表示されます。こちらも、調査中です。

SQL Server 2000 Service Pack 2 (SP2)をインストールすると、列名にハングル文字が対応(?)出来ると思うのですが、こちらも調査中です。

今の所、DBのテーブルにコードを入力して(고마워)VBで値を取り出して、XMLでデータを作成して、XMLデータとXSLTファイルよりHTML(文字列)を作成しています。

これから、やり方を調べてやってみます。

お礼日時:2001/12/13 15:19

入力っていうのはテキストボックスですか?



VB6っていうよりOSに依存する話ですね。

今手元にはWIN2000環境しかないのですが、、、コントロールパネルの地域のオプションで設定でできると思います。もしOSが2000でなくても、コントロールパネルに言語の設定をする項目があると思います。

はずしてたら補足してください。
    • good
    • 0
この回答へのお礼

地域のオプションで、入力ローケルに韓国語(ハングル)を追加して、ワードパットなどには、入力できるのですが、VBでは、??となってしまいます。

お礼日時:2001/12/13 14:23

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qハングルを日本語に置換

Excel VBAでハングルを日本語に置換することはできますか?
例えば、

Range("A:A").Replace What:="일본", Replacement:="日本"

を行いたいのですが、VBEでハングルを入力できません。
よい方法があれば、お教えください。

Aベストアンサー

Excelのシート上ではユニコードに対応しているので
ハングルでも中国でも表示できますが
日本語VBA上ではShift-JIS(ANSI)の文字コードでしか扱えません。
"일본" が"??" になっているかと。

なので入れ物(Cell)ごと渡してしまえば簡単です。
   A     B 
1 検索文字  일본
2 置換文字  日本
3 置換対象  你好吗일본
4 置換結果  你好吗日本

range("b4")=replace(range("b3"),range("b1"),range("b2"))
ご参考まで。

Q中国文字のプログラムでの取り扱い

中国文字のVisual Basic6での取り扱いについて教えてください。
環境 Windows7、Visual Basic6、IE8
秀丸エディタなどでUTF-8モードとして、「书信」などの漢字(左の字が中国簡体字、右の信は日本文字と同じ)をファイルに入れておき、これを読み取って、HTML文で表示できるようにするプログラムを作ろうとしています。
Visual Basic6の変数に入れるとUnicodeとして処理されるので実行中に止めて表示させても、またHTML文書で表示させても”???”と文字化け状態になります。
そこでOKwebにてコード変換を教えていただいたのでUnicodeをUTF-8に変換すると「?信」となります。
何か変ですがこれをさらにUTF-8からUniCodeに変換すると”???”と表示されるようになります。
中国簡体字の部分だけがどうしても表示できません。どうしたら表示できるのでしょうか?

なお本件とは直接の関係はありませんが、HTMLソースを秀丸で表示させて「书信」を張り付けると、ソースでも、またブラウザ・IE8で表示させても正しく「书信」と表示されます。

中国文字のVisual Basic6での取り扱いについて教えてください。
環境 Windows7、Visual Basic6、IE8
秀丸エディタなどでUTF-8モードとして、「书信」などの漢字(左の字が中国簡体字、右の信は日本文字と同じ)をファイルに入れておき、これを読み取って、HTML文で表示できるようにするプログラムを作ろうとしています。
Visual Basic6の変数に入れるとUnicodeとして処理されるので実行中に止めて表示させても、またHTML文書で表示させても”???”と文字化け状態になります。
そこでOKwebにてコード...続きを読む

Aベストアンサー

VB6の標準コントロールに日本語や中国語の混在文を
表示することはできないので、UNICODEに対応した
コントロールに表示するようにします。

二つのコントロールに同時に表示してみます。

準備:
プロジェクトからコンポーネントを選択し、
Microsoft Internet Controls
msrtedit 1.0 Type Library
の二つにチェックを入れて適用、OKとします。

フォームにコマンドボタンを一つ、
WebBrowserコントロールとAMSREditを
フォームに設定します。

以下のコードを設定してください。
なお、test.txtはプロジェクトと同じディレクトリ
においているとしています。他のディレクトリに
おいている場合はフルパスを設定してください。

Private Sub Command1_Click()

'RichEditに表示
With New ADODB.Stream
.Type = 2
.Charset = "UNICODE"
.Open
.LoadFromFile (App.Path & "\test.txt")
AMSREdit1.text = .ReadText(-1)
End With
'WebBrowserに表示
WebBrowser1.Navigate App.Path & "\test.txt"
End Sub

VB6の標準コントロールに日本語や中国語の混在文を
表示することはできないので、UNICODEに対応した
コントロールに表示するようにします。

二つのコントロールに同時に表示してみます。

準備:
プロジェクトからコンポーネントを選択し、
Microsoft Internet Controls
msrtedit 1.0 Type Library
の二つにチェックを入れて適用、OKとします。

フォームにコマンドボタンを一つ、
WebBrowserコントロールとAMSREditを
フォームに設定します。

以下のコードを設定してください。
なお、test.txtはプロジェクト...続きを読む

QVBAでUTF-8テキストファイル作成したい

VBA,文字コードなどにあかるくない初心者です。

VBAを利用して、エクセルのとあるセルに記載されている文字を
UTF-8形式でテキストファイルに出力させたいと考えています。

(多言語対応のため・・・、韓国語や中国語でセルに記載された文字を
 UTF-8形式でテキストファイルに文字化けしないよう出力させたいためです。)

どのように実現が可能か、いくつか検索をしてみましたが
難しくてわかりませんでした。

VBAのサンプルコードを教えていただけないでしょうか。
もしくは、初心者でもわかりやすい実現方法が記載されたサイトを教えていただけないでしょうか。

よろしくお願い致します。


※今文字コードを意識せずに下記のようなVBAを書いています。(簡略化して記載しています。)
Sub test()
Open "C:\Sample\Data.txt" For Output As #1 'ファイルを新規作成

'データ書き込み
Print #1, Cells(1, 1)
Close #1

End Sub

VBA,文字コードなどにあかるくない初心者です。

VBAを利用して、エクセルのとあるセルに記載されている文字を
UTF-8形式でテキストファイルに出力させたいと考えています。

(多言語対応のため・・・、韓国語や中国語でセルに記載された文字を
 UTF-8形式でテキストファイルに文字化けしないよう出力させたいためです。)

どのように実現が可能か、いくつか検索をしてみましたが
難しくてわかりませんでした。

VBAのサンプルコードを教えていただけないでしょうか。
もしくは、初心者でもわかりやすい実現方...続きを読む

Aベストアンサー

Openステートメントでは Shift-JISになってしまうと思います

『Microsoft Active Data Objects X.X Libraly』に参照設定をおこなって
ADODB.Streamを使う方向になると思います

dim strm as New ADODB.Stream
strm.Open
strm.Charset = "UTF-8"
' strm.Charset = "Unicode"
strm.WeiteText Cells(1,1)
' すべての書き出しが終わったら
strm.SaveToFile "ファイル名"
strm.Close
Set Strm = nothing

といった具合です

QExcelVBA テキストファイルUNICODE文字化けについて

1.環境
Microsoft Windows7 64ビット
Microsoft Ofiice2013 Excel2013 32ビット

2.事象
テキストファイルに定義しているUNICODEを読むと文字化け(?)します。
メモ帳等のテキストファイル上はUNICODEを文字化けせずに目視で確認しています。
どうしたら文字化けせずに読めるのでしょうか?
どなたか詳しい方、ご教授願います。

3.テキストファイル(test.dat)


4.VBA
・参照設定([ツール(T)]バー-[参照設定(R)…])
レ Microsoft ActiveX Data Objects 2.8 Library

・ソース
※例どっちでも、文字化けします。
Dim a, b As String
例1)
With CreateObject("ADODB.Stream")
.Charset = "UTF-8"
.Type = adTypeText
.Open
.LoadFromFile "C:\test.dat"
a = .ReadText
.Close
End With

例2)
Open "C:\test.dat" For Input As #1
Do Until EOF(1)
Line Input #1, b
Loop
Close #1

1.環境
Microsoft Windows7 64ビット
Microsoft Ofiice2013 Excel2013 32ビット

2.事象
テキストファイルに定義しているUNICODEを読むと文字化け(?)します。
メモ帳等のテキストファイル上はUNICODEを文字化けせずに目視で確認しています。
どうしたら文字化けせずに読めるのでしょうか?
どなたか詳しい方、ご教授願います。

3.テキストファイル(test.dat)


4.VBA
・参照設定([ツール(T)]バー-[参照設定(R)…])
レ Microsoft ActiveX Data Objects 2.8 Library

・ソース
※例どっちでも、...続きを読む

Aベストアンサー

できないときは、何か肝心なミスを見逃していることがあります。

>セル自体にUnicodeを対応していると思っています。
Excel 2003の頃から、対応はしているのですが、本格的な対応は、
Excel 2013 前後だと思います。新しい文字関数が増えましたからね。

>入力テキストファイルから出力テキストファイル
これは、ADODB.Stream で対応可能なはずです。

しかし、私の経験では、逆に、セルからの出力テキストの場合は、まったくやり方が違う方法を思いつきました。いずれにしても、私の範囲内では、UTF-8とUTF-16 は、共有しませんから、要注意だと思います。思わぬ失敗をしている時があります。

学ばれるのでしたから、以下のサイトがよいです。
NonSoft というサイトです。
http://nonsoft.la.coocan.jp/SoftSample/SampleModADOS.html

私も、それなりに、この問題をそのサイトを中心に格闘した上でのことですが、ただ、こういう話は、どちらかというと、VB6系よりも次の世代の言語のプログラムに任せたほうが早いのです。さしずめ、PowerShellあたりでも対応可能なのですから、本当に、ばかばかしいと思うぐらいに簡単になってしまいました。

それと、ご存知かもしれませんが、有名なUnix系ツールのnkf32 あたりが、巨大ファイルの変換が思うに任せないようです。私の間違いかもしれませんが。それで、試しに、Notepad++ で、あっけなく変換してしまったので、本当に拍子抜けしてしまいました。

できないときは、何か肝心なミスを見逃していることがあります。

>セル自体にUnicodeを対応していると思っています。
Excel 2003の頃から、対応はしているのですが、本格的な対応は、
Excel 2013 前後だと思います。新しい文字関数が増えましたからね。

>入力テキストファイルから出力テキストファイル
これは、ADODB.Stream で対応可能なはずです。

しかし、私の経験では、逆に、セルからの出力テキストの場合は、まったくやり方が違う方法を思いつきました。いずれにしても、私の範囲内では、UTF-8とUTF-16 ...続きを読む

Qロケールに対応するストリングテーブルの参照について

こんにちは。初歩的な質問かもしれませんが、お分かりの方は是非ご教授願います。以前にもロケールとストリングテーブルについてのQAがNo.445463でされていますが、こちらで出された回答と現象が違うかもしれませんので、書いてみました。
<現象>
開発環境上(VisualBasic6.0Enterprise)でストリングテーブルを日本語と英語(U.S.)の2つ設定し、同環境上でロケールを日本語⇔英語切替を行いながらデバッグ実行をしました。その際はロケールに対応したストリングが呼び出され、該当した言語で表現されました。
しかし、実際作成したexeにて同様の実行を行ったところ、必ず日本語のストリングが呼び出されてしまい。英語ロケール時に英語テーブルが呼ばれません。
<OS環境>
コンパイル・実行ともにWindows2000professional(日本語版・ロケールも日本語)です。

No.445463の方の例を忠実に手直ししようと思いましたが、多言語テーブルの場合とちょっと違う気がします。この現象を解決するにはどうすればよろしいのでしょうか?あと、自分の解釈ではロケールとは"地域のオプション"の"全般"タブにあるコンボのことだと思うのですが、他にも設定が必要なんでしょうか?
ご回答、よろしくお願いします。

こんにちは。初歩的な質問かもしれませんが、お分かりの方は是非ご教授願います。以前にもロケールとストリングテーブルについてのQAがNo.445463でされていますが、こちらで出された回答と現象が違うかもしれませんので、書いてみました。
<現象>
開発環境上(VisualBasic6.0Enterprise)でストリングテーブルを日本語と英語(U.S.)の2つ設定し、同環境上でロケールを日本語⇔英語切替を行いながらデバッグ実行をしました。その際はロケールに対応したストリングが呼び出され、該当した言語で表現されました。
し...続きを読む

Aベストアンサー

文字化けについて、、、

日本OSでリソースから読み取った日本語文字が化けるというのですか?
もしそうなら、、、
リソースから読まずに、固定で画面に文字列をセットしても化けるのですか?
画面でなくて、メッセージボックスで表示しても化けますか?

固定で決めうちした文字列で化けて、メッセージボックスでは化けない場合は、
フォームロード時に、最初にフォームのフォント、次にフォームのコントロール類のフォントを変更してあげたら対応できると思います。
おすすめはMSUゴシック

そうでなければ、化ける場合をパターン別に細かく書いてもらわないと答えようがありません。。。

Q会社名の後につくInc.とは?

こんにちは。
会社名の後につく、Inc.とは、どういう意味でしょう?会社の法的な位置付けをあらわしていると思うのですが、実際の所どうなんでしょう?1.日本語でどういう意味か、2.英語の原型はどういうかたちか。教えて下さい。


ちなみに、co.,ltd.はcompany limited か、または、cooperation limitedで、株式会社(有限責任)の意味ですよね??


回答よろしくお願いします。

Aベストアンサー

inc.は
incorporated の略で
「一体化した,法人組織の」の意味だそうです。
「有限責任の」の意味もあります。

映画「モンスターズ・インク」のインクもこれですね。


人気Q&Aランキング

おすすめ情報