IMEの機能で、
郵便番号を入力すると、住所に変換できますよね?
VBで、郵便番号を入力し(変換せずに)、
その住所を別のテキストボックスに表示したいのですが、
どうすればよいか教えてください。

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

A 回答 (1件)

IMEの郵便番号変換は、IME自身が内部で参照する辞書を元に出力されるものです。


その間の過程を操作することはできません。
さらにIMEが参照する辞書の扱い方は、公開されていないと思いますので、実質的にムリです。

以前に郵便番号のメンテナンスについて、アドバイスをした経験がありますので、よろしかったらそちらを参考にしてください。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=101401

どのソフトもそうだと思いますが、住所&郵便番号を使用するソフトは、そのデータをマスターとして持っています。
そのマスターは、郵政省のHPからもDLできます。
それを使用すると 読みと郵便番号との相互変換が可能になります。
http://www.post.yusei.go.jp/newnumber/index.htm

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=101401
    • good
    • 0

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

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

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

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

QVBで郵便番号を入力したら自動住所表示

VBで郵便番号を入力したら自動住所表示したいと思っています。
KEN_ALL.CSVをダウンロードして
ACCESSへインポートしたのですが
そこからどうしたら良いかわかりません。
おしえてください

Aベストアンサー

こんな感じですかね?
なんとなくですみません。


Dim cn As New OleDbConnection
Dim cmd As New OleDbCommand
Dim rs As OleDb.OleDbDataReader

cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=~\ファイル名.mdb"

cn.Open()

'コマンド設定
cmd = cn.CreateCommand
cmd.CommandText = "select 都道府県名,~~"

'コマンド実行してリーダーを設定
rs = cmd.ExecuteReader
rs.Read()

Textbox1.Text = rs.Item("都道府県名").ToString

rs.Close()
cn.Close()

Qテキストボックスからコンボボックスへ自動入力したい

AccessVBA初心者です。
Access2003を使用しています。

formAフォーム上の非連結textBテキストボックスに英字を入力
して、exe実行ボタンをクリックしたら、Cテーブルに連結した
cmbCコンボボックスに該当文字列を表示したいです。
Private Sub exe_Click()
If Me.textB.Value = "A" Then
Me.cmbC.Value = 1
Else
Me.cmbC.Value = 2
End If
End Sub

実行ボタンをクリックしても、コンボボックスの内容は変わり
ません。
if文にブレークポイントを設定してステップインで一行ずつ実
行するとコンボボックスに数字にあった文字列が表示できます。
うまく表示できるように、よろしくお願い致します。

Aベストアンサー

・・・
End If
me.refresh
End Sub

とか。

QVB6でテキストボックスに入力した内容をリアルタイムにテキストファイルに書き出していく方法は?

テキストボックスに書き出した内容をテキストファイルに書き出すのに、最後に「保存」ボタンを作りまとめて行っていますが、これを、テキストボックスに内容を入力し始めたらそのままテキストファイルとして保存されるとともに、どんどん追加書き出しされるような方法はありませんか?
多分Keydownとかを使うのでは、と思うのですが、やり方が全然分かりません。どなたか教えてください!!!よろしくお願いします。

Aベストアンサー

テキストボックスに追加された文字に対する操作は、変数やファイルというものの構造上好ましくないですね。
また、BackSpaceやDeleteキーで消されたときにも対応できません。
TAGOSAKU7さまのコードのように、内容が変更されたら、テキストファイルのすべてを書きなおすという方法をとるのが理想です。
しかし、この方法では内容が長くなってきたときに、1文字1文字入力するたびに、ディスクアクセスが発生することになり、文字を打っている人にストレスを与えてしまいます。

ということで最後に文字を入力してからおよそ3秒後にファイルを保存するという方法を紹介します。

○ フォームにテキストボックスを貼り付け、MultiLineプロパティをTrueにする。
○ フォームにタイマーコントロールを貼り付け、Intervalプロパティを1000にして、EnabledプロパティをFalseにする。

○ 次のコードをフォームのコードに貼り付ける。

Const TEST_FILE = "c:\test.txt"
Const N_SEC = 3

Private Sub Text1_Change()

Timer1.Enabled = True

End Sub

Private Sub Timer1_Timer()

On Error Resume Next

Static Cnt As Long
Dim strText As String
Dim lngFile As Long

Cnt = Cnt + 1

If Cnt = N_SEC Then

Timer1.Enabled = False
Cnt = 0
Kill TEST_FILE
strText = Me.Text1.Text
lngFile = FreeFile
Open TEST_FILE For Binary Access Write As #lngFile
Put #lngFile, , strText
Close #lngFile

End If

End Sub

-------------------

ってな感じでどうでしょう。
真中ら辺はTAGOSAKU7さまのコピーです。
ちなみに
Const N_SEC = 3
の3を変えれば何秒後でもできます。

テキストボックスに追加された文字に対する操作は、変数やファイルというものの構造上好ましくないですね。
また、BackSpaceやDeleteキーで消されたときにも対応できません。
TAGOSAKU7さまのコードのように、内容が変更されたら、テキストファイルのすべてを書きなおすという方法をとるのが理想です。
しかし、この方法では内容が長くなってきたときに、1文字1文字入力するたびに、ディスクアクセスが発生することになり、文字を打っている人にストレスを与えてしまいます。

ということで最後に文字を入力...続きを読む

QASP.NET(VB2005)■ WEBページのテキストボックスへ入力するとき、文字列を2桁入力するごとにハイフンを表示させたい

ユーザーがWEBページのテキストボックスへ入力するとき、
文字列を2桁入力するごとにハイフンを表示させ、その状態を維持したまま
次に文字列を入力させることは可能でしょうか?

例.
1.ユーザーが「01」と入力
2.ハイフンが表示され、テキストボックスの表示は「01-」となる
3.続けてユーザーが「02」と入力
4.ハイフンが表示され、テキストボックスの表示は「01-02-」となる

この流れで「01-02-AB-CD-E5-F5」とテキストボックスに表示される結果にしたいのです。
その後、テキストボックス文字列をデータベースに取得させます。
(因みに上記英数字はあくまでも例です)

開発環境は以下です。
 ・WinXP SP2
 ・Microsoft Visual Studio 2005(VB2005)
 ・ブラウザはIE6のみを前提としています。
 
いつも質問ばかりで申し訳ございませんが、
もしご存知の方がいらっしゃいましたらどうぞご教授をお願いします。
ヒントになるようなことや参考になるWEBサイトでもアドバイス頂けると嬉しいです。

現場開発経験約3ヶ月ほどなのでわかりやすく説明下さるとなお有難いです。<(_ _)>

ユーザーがWEBページのテキストボックスへ入力するとき、
文字列を2桁入力するごとにハイフンを表示させ、その状態を維持したまま
次に文字列を入力させることは可能でしょうか?

例.
1.ユーザーが「01」と入力
2.ハイフンが表示され、テキストボックスの表示は「01-」となる
3.続けてユーザーが「02」と入力
4.ハイフンが表示され、テキストボックスの表示は「01-02-」となる

この流れで「01-02-AB-CD-E5-F5」とテキストボックスに表示される結果にしたいのです。
その後、...続きを読む

Aベストアンサー

クライアントスクリプトを仕込まないといけないでしょう
<script type="text/javascript">
<!--
function myInsert()
{
  var ss = this.value;
  if ( ss.length % 3 = 0 && ss.length > 0 )
  {
    this.value = ss.substring(0,ss.length-1) +
     '-' + ss.substring(ss.length-1,ss.length);
  }
}
//-->
</script>
といったスクリプトを埋め込んでおきます

Page_Loadイベントなどで
dim cs as ClientScriptManagr = Page.ClientScript
dim s as string
s = "window.onlooad = function() { docuemnt.getElementById('TextBox1').onkeyup = myInsert; }"
if cs.IsIsClientScriptBlockRegistered("myInsert") = False Then
  cs.RegisterClientScriptBlock(Me.GetType(), "myInsert", s)
End if

クライアントスクリプトを仕込まないといけないでしょう
<script type="text/javascript">
<!--
function myInsert()
{
  var ss = this.value;
  if ( ss.length % 3 = 0 && ss.length > 0 )
  {
    this.value = ss.substring(0,ss.length-1) +
     '-' + ss.substring(ss.length-1,ss.length);
  }
}
//-->
</script>
といったスクリプトを埋め込んでおきます

Page_Loadイベントなどで
dim cs as ClientScriptManagr = Page.ClientScript
dim s as string
s = "window...続きを読む

QVBでリッチテキストボックス内印刷

VisualBasic2010でリッチテキストボックスにテキストファイルの内容を
StreamReaderで読み込んでいます。
その際、テキストの中身を基本とし変数で変換したものをリッチテキストに出力しています。
リッチテキストに表示されたもの(元のテキストファイルではダメ)を
印刷したいのですが、方法がわかりません。
ご教授ください。

Aベストアンサー

文字の印刷サンプルなんてたくさん転がってると思いますが。
ただ、リッチテキストを使用している理由が質問文内にないため、リッチテキストボックスでフォントや色を自由にアレやコレや変えまくった結果を見た目そのままに印刷されることを期待しているのか、単にプレーンな文字列が印刷されることを期待しているのかは不明。
http://dobon.net/vb/dotnet/graphics/printtext.html


このカテゴリの人気Q&Aランキング

おすすめ情報