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も見ています

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

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

Qkt郵便番号検索ウィザードの使い方

Xp EXCEL2003を使用中です。Microsoft Download Centerより EXCELアドインkt郵便番号検索ウィザード(2003-2007ユーザー用) をダウンロード・インストールして使用しかけましたが、うまくできません。
1.Excel起動~ツール~アドイン~郵便番号変換ウィザードに✔~OK
2.A1セルに郵便番号を入力~ツール~ウィザード~郵便番号変換~郵便番号から変換をオン~次
3.郵便番号セル範囲は $a$1 住所セル出力範囲は Sheet1!$B$1~次へ
4.コメント出力をオン~完了
としたのですが、2行目以降はウィザードが機能しません。
2行目以降も毎行 1.2.3.4の作業をしなくては A列に郵便番号を入力してもB列に住所が出力されず困っています。
どこか手順で間違っていると思うのですが判らず弱っています。
どうぞお教えください。

Aベストアンサー

No.1-3です。

> リストに追加とか変更があった場合は、その都度該当セルに対して変換ウィザードを起動したいと思います。

数件の住所の場合、次のように操作すれば住所に変換することができます。

例として、千代田区霞ヶ関の場合、
IMEの変換モードを「人名/地名」に変更しておいて、「100-0013」と入力して変換しますと「東京都千代田区霞が関」と変換されます。
(変換モードを変更するのが面倒な場合、「一般」モードで「郵便番号辞書」を有効にしておきます。)

「Microsoft IME や IME 2003で郵便番号辞書が使いたい」
http://snow-white.cocolog-nifty.com/first/2010/02/microsoft-ime-i.html

Excelの関数を使って、郵便番号と住所を表示する方法もあります。
例えば、A2セルに郵便番号、B2セルに住所を表示する場合、
A2セルに、「=LEFT(PHONETIC(B2),8)」と入力し、B2セルに「100-0013」などと郵便番号を入力して変換し「東京都千代田区霞が関」などと表示されたところで「Enter」キーを押すと、A2セルに「100-0013」などと表示されます。

興味があればお試し下さい。

No.1-3です。

> リストに追加とか変更があった場合は、その都度該当セルに対して変換ウィザードを起動したいと思います。

数件の住所の場合、次のように操作すれば住所に変換することができます。

例として、千代田区霞ヶ関の場合、
IMEの変換モードを「人名/地名」に変更しておいて、「100-0013」と入力して変換しますと「東京都千代田区霞が関」と変換されます。
(変換モードを変更するのが面倒な場合、「一般」モードで「郵便番号辞書」を有効にしておきます。)

「Microsoft IME や IME 2003で郵便番号辞...続きを読む

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郵便番号の検索

町名・字名による郵便番号でない公共施設・企業・ビル等の郵便番号が検索または一覧できるサイトはありませんか?

Aベストアンサー

#1です。
CSV(可変長データ)形式のファイルをダウンロードもできます。
lzh形式で圧縮してあります。
http://www.post.japanpost.jp/zipcode/dl/jigyosyo/index.html

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

とか。

Q郵便番号検索でヒットしない番号

郵便番号「***-◇◇◇◇」の内、後半の◇の部分が-85で始まる番号は、一般的な郵便番号とは違うのですか。郵便局のHPで郵便番号検索をしてもヒットしません。
多くは、会社や大きな施設がこの番号を持っているみたいです。
こういう所へ郵便物を送りたい時は、どちらの番号を書けばいいのですか。
-85◇◇の番号を書いた場合、送る側、受け取る側にとってメリットがあるのですか。
通常より早く届くなどの特別なメリットがあるのですか。
ただ単に、郵便局側の配達関係の事情ですか。

Aベストアンサー

旧郵便番号が3けたの地域については
4けた目および5けた目に「85」~「87」を用い
6けた目および7けた目で特に配達物数の多い大口事業所
私書箱、料金受取人払等を表す個別番号を設定していると思います。
この私書箱、受取人払いの設定がされているかもしれないので
やはり85で始まる番号への送付になると思います。

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文字入力するたびに、ディスクアクセスが発生することになり、文字を打っている人にストレスを与えてしまいます。

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

Qエクセルに入力した住所の郵便番号を検索したいのですが、、、。

エクセルでデータベースを作っているのですが、大半が郵便番号がなく、住所のみなのです。ネットで住所を入力すれば郵便番号の検索はできるのですが、数が多いので一件一件検索できる状態ではありません。一挙に住所から〒番号を検索できる方法ってありますでしょうか?どなたか、よいアイデアがあれば宜しくお願いします!

Aベストアンサー

アドインで郵便番号ウィザードを持ってきて、

郵便番号XXX-XXXX(ハイフンはなくても良い)

すべての列を囲む(ドラッグ)、ツール→ウィザード→郵便番号変換で変換する。

ウィザードがなかったら、ネットからもってくる。

ちなみに、これは住所はでますが、番地まではおそらく
出ないと思います。

Q入力条件についてわからないことがあります。 「テキストボックスに入力できるのが10桁のみ」とする場合

入力条件についてわからないことがあります。

「テキストボックスに入力できるのが10桁のみ」とする場合はどのようにプログラムすればよろしいでしょうか。

Aベストアンサー

丁度10桁の場合がOKで、それ以外はNGにしたいということでしょうか。
入力するのは数字でなくても良いのですね。
if Len(テキストボックス.value) = 10 then
OKの処理
else
NGの処理
end if
になります。

Q郵便番号で検索⇒距離順に結果リストを表示したい

お世話になっております。

とあるジャンルの店舗検索ポータルサイトを作成しております。
郵便番号検索を行った際に、入力した郵便番号より近い距離の店舗順に表示し、
且つ入力した郵便番号から該当の店舗までの距離をkmで表示したいと考えております。

その他条件としては
・検索結果は10件~20件程表示予定
・検索結果に反映させるのは入力された郵便番号より◯◯kmまで、という制限を設けます。

以上の内容を踏まえて、
上記のような検索機能を開発したい場合、API等またはパッケージソフト等で使用できるものはございますでしょうか?
例)Google MAPS API 等

また、具体的にはどのような手法を取って検索結果を表示するのでしょうか?
例)ユーザが入力した郵便番号および住所の位置から緯度経度を割り出し、緯度経度の範囲を定め検索 等

以上となります。
ご協力の程お願い申し上げます。

Aベストアンサー

あなたのおっしゃっていることでほとんどすべてだと思いますが…。

地図検索APIで道のりを求める、または緯度経度から距離を求めて並べ替え、表示。これ以上なにか必要でしょうか?
地図検索APIは Google maps もありますし、検索すれば幾つも出てきます。

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...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング