2021年9月16日木曜日

VBAで日本語を英語に翻訳しようと、エクセルVBAでGoogleを使おうとしたら、全滅したのでござる ー Microsoft Internet Controls / Microsoft HTML Object Library(VBA)


会社の同僚から、生産システムのデータベースに関わる方策を尋ねられました。
パーツで型式とカタカナの名称はあるが、英語の記載が少ないので困るらしい。

確かに契約の注残予定表をみても、英語の名称がないパーツも多く見受けます。
この様なパーツは、輸出で船積書類を作成する時、英訳しなければなりません。

今までは、ネットで英語辞書を引いて転記したが、合理化できる方法はないか。
例えば、エクセルシートにパーツ一覧を記載して、自動で英訳できれば便利だ。

といった発想から触発されて、自動英訳のソフトを試行錯誤で作ってみました。
先ずエクセルシートに、書類の作成が必要な型式と半角字名称をコピペします。

しかし、半角字のカタカナ名称しかないって、古色蒼然としたデータベースよ。
多分、データの容量を抑えるために、半角字にしたと思いますが、化石級です。

こんなデータを後生大事に持っていたほど、時代に取り残されたと思いますな。
しかも、”ブラケット デンゲン”と、英語の並びが逆で、変な名づけ方なのです。

まあ、シート上の実行ボタンを押し、一つずつ名称を取得しつつ英訳してみた。
この英訳は、エクセルからブラウザーを起動し、DeepLのサイトにつなげます。

次に、英訳が済むとカタカナ名称の隣の列に英訳を記入して、最終行まで続行。
このサイトは、半角カタカナでも英訳結果が良好で、グーグルより優秀でした。

まあ、ネット検索で参考コードを改造しましたが、ユーザーフォームを追加だ。
参考までに、内容を紹介しますので、ここをクリックしてダウンロードしてね

そして、ダウンロードで”使用手引き”を読んで便利と思ったら、お使い下さい。
というわけで、グーグルの翻訳サイトを連益するプログラムは、全滅でしたな。

ネットで紹介された、リファレンスコードを動かしても、途中でエラーしか出なくて、何が原因なのかわかりませんが、やっぱり、グーグルはVBAのプログラム連携でそうは簡単に使わせないような工夫がしてあるのかもしれず、そうであれば、この翻訳サイトDeepLにすがるしかないと思ったのでした。

1. ファイルを開くと「英訳シート」が表示されます。
2. 注残表などから、英訳したいデータをコピーして、「英訳シート」のA列とB列に貼り付けます。次に、一括翻訳ボタンを押します。
3. 一括で翻訳された結果が表示されます。少し、時間が掛かるかもしれません。
4. 上記2.の手順で、”はい”を選ぶと、単語一つずつを漢字混じりの全角字入力をして変換していきます。
注:英訳を実行してから、個々の結果を再翻訳もできます。
  説明は、5.の項目を参考してください。
5. 上記1.のシート上にある、修正再翻訳ボタンを押すと変な英訳結果を、再翻訳できます。
注:空白セルや、間違った列にセルを当てて、再翻訳ボタンを押すと、エラー表示が出されますので、再作業を行うことができます。



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



0 件のコメント:

コメントを投稿