JP2010262325A - 文字列変換方法、プログラム及びそのプログラムを記憶した記憶媒体 - Google Patents

文字列変換方法、プログラム及びそのプログラムを記憶した記憶媒体 Download PDF

Info

Publication number
JP2010262325A
JP2010262325A JP2009110212A JP2009110212A JP2010262325A JP 2010262325 A JP2010262325 A JP 2010262325A JP 2009110212 A JP2009110212 A JP 2009110212A JP 2009110212 A JP2009110212 A JP 2009110212A JP 2010262325 A JP2010262325 A JP 2010262325A
Authority
JP
Japan
Prior art keywords
character string
registered
code
registration
corrected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009110212A
Other languages
English (en)
Inventor
Junya Nitta
順也 新田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to JP2009110212A priority Critical patent/JP2010262325A/ja
Publication of JP2010262325A publication Critical patent/JP2010262325A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

【課題】
パソコンのアプリケーションソフトの文字列自動修正機能を用いて所望の文字列を自動で入力する場合に、簡易に修正対象の文字列と修正後の文字列を登録および削除する方法を提供すること。
【解決手段】
本願に係る文字列変換方法は、予め登録した文字列と関連付けて所望の文字列に変換する文字列変換方法であって、第一の文字列と第二の文字列とを関連付けて登録するステップと、入力手段により第一の文字列を入力して確定するステップと、確定する際に記憶手段に記憶している登録した前記第一の文字列及び第二の文字列を一組とした所望の文字列として変換して表示手段に出力するステップを含むことを特徴とする。
【選択図】図4

Description

本発明は、たとえばコンピュータ装置での入力した文字列の変換に関する方法等であって、特に入力した文字列に関連付けて登録した他の文字列を付随して出力する文字列変換方法、プログラム及びそのプログラムを記憶した記憶媒体に関する。
コンピュータ装置において入力した文字列は、所定の変換方法により所望の文字列に変換することができるようになった。したがって、ユーザは所望の文字列全てを入力する必要がなくなった。また、これにより誤字脱字を未然に防ぐこともできるようになった。
特に、特許明細書を作成するにあたり、参照符号を自動入力するソフトウェアが提案されてきた。たとえば、こうした提案内容においては、マイクロソフト社の文書作成アプリケーションソフト「ワード」のVBAを用いたプログラムにより、ユーザがキーボードの所定のキー(「コントロール」キーと「J」キーを同時操作)を操作することで、文章中に記載されている参照符号を解析して候補を表示し、ユーザが表示された候補から所望の参照符号を選択する方法を提案した。
しかしながら、当該方法では文章の入力中に所定のキーを操作する必要があり、煩わしさがある。また、関係のない候補を表示することがあるため、その表示されたものから選択するという手間があった。
また、特許文献1において開示されている技術思想により、ワープロ等の文書編集中の操作を効率良く行うために、編集位置に入力されている文字列から所定の要素名として文字列を検索し、当該文字列に符号を付して画面出力することができる。
しかしながら、当該技術思想では、文書編集中の範囲を検索領域としているため、当該文書編集中の範囲に存在しない限り符号を付して所望の文字列として出力することができない。また、当該検索領域を都度検索する処理が実行されるため、文書編集の量が多い分、検索時間が余分に必要となり、ひいては所望の文字列を出力するまでの処理時間が無駄であり、文書作成に多大な時間を要する。
また、非特許文献1において開示されている技術思想により、ワープロソフトの文字列自動修正機能(オートコレクト機能)を用いた参照符号の自動入力においては、前述したようなユーザがキーボードから所定のキーを操作したり、候補の参照符号を選択したりする必要はない。
しかしながら、当該方法ではオートコレクト機能に用いる「修正対象の文字列」と「修正後の文字列」のペアを登録する作業が煩雑であった。また、一度登録した文字列を削除したり、または入れ替えたりする作業も、特殊な知識を要するため煩雑であった。
特開2005−25265号公報
http://www.shimizupatent.jp/jp/sspoTips2.html
本発明の目的は、パソコンのアプリケーションソフトの文字列自動修正機能を用いて所望の文字列を自動で入力する場合に、簡易に修正対象の文字列と修正後の文字列を登録および削除する方法を提供することである。
かかる課題を解決するために、本願に係る文字列変換方法は、予め登録した文字列と関連付けて所望の文字列に変換する文字列変換方法であって、第一の文字列と第二の文字列とを関連付けて登録するステップと、入力手段により第一の文字列を入力して確定するステップと、確定する際に記憶手段に記憶している登録した前記第一の文字列及び第二の文字列を一組とした所望の文字列として変換して表示手段に出力するステップを含むことを特徴とする。
本願によれば、登録の重複がなくなる。また、余計なキー入力がなく、自動で符号をつけることができる。
管理画面にてギヤボックスを登録する状態を示す図である。 ツールバーからギヤボックスを登録する状態を示す図である。 重複確認用フローチャートである。 重複確認のフローチャートで判定したフラグ(Flag1、Flag2、Flag3、Flag4)の数値によって、登録処理をどのように行うのかを示した登録処理の一覧表である。 テキストを選択している図である。 第2文字列が選択されている図である。 第1文字列が選択されている図である。 テキスト登録用のフローチャートである。 管理画面の符号表を表示する図である。 管理画面の変換表を表示する図である。 ツールバーに符号表を表示させた場合の図である。 符号表(ワード文書)例の図である。 符号表の表示作成のフローチャートである。 管理画面にて登録済みの名称を表示させた場合の図である。 ツールバーにて登録済みの名称を表示させた場合の図である。 ツールバーにて登録済みの符号を表示させた場合の図である。 符号表の図である。 参照符号を@として文章を仮入力した場合の図である。 参照符号によって文章が置換された場合の図である。 参照符号を@として別の文章を仮入力した場合の図である。 参照符号によって別の文章が置換された場合の図である。 参照符号を@として別の文章を仮入力した場合の図である。 符号表の図である。 図15の符号表を並び替えた場合の図である。
以下、図面を参照して本発明を実施するための形態について説明する。なお、以下では、本発明の目的を達成するための説明に必要な範囲を模式的に示し、本発明の該当部分の説明に必要な範囲を主に説明することとし、説明を省略する箇所については公知技術によるものとする。
(第1実施形態)
本実施形態においては、マイクロソフト社のワープロのアプリケーションソフトであるワードを用いて説明する。また、ワードのオートコレクト機能(文字列自動修正機能)を利用する。
本実施形態における文字列自動修正機能もしくはオートコレクト機能とは、特定の文字列の入力が確定された場合に、その文字列を別の文字列に自動で置換する機能である。
例えば、「つづりが間違った文字列」をユーザが入力した場合に、この「つづりが間違った文字列」に対応するあらかじめ登録された「正しいつづりの文字列」に自動で置換するものである。これらの「つづりが間違った文字列」とそれに対応する「正しいつづりの文字列」とは、あらかじめ登録されている。例えば、ユーザが「つづりが間違った文字列」としてtehと入力した場合には、このtehが、これに対応する「正しいつづりの文字列」としてのtheに自動で置換される。
また、矢印やマークなどの特殊文字も登録されており、煩雑な置換の手間を削減することにも役立つ。例えば、ユーザが「簡易表記の文字列」として(c)と入力した場合に、それに対応する「正確な表記の文字列」としての
に自動で置換する。
上記の「つづりが間違った文字列」および「簡易表記の文字列」を本実施形態では、オートコレクト機能における「修正対象の文字列」と定義する。また、上記の「正しいつづりの文字列」および「正確な表記の文字列」を「修正後の文字列」と定義する。ひとつの「修正対象の文字列」には、対応するひとつの「修正後の文字列」が組み合わせて登録されている。
一般的にワードには928組の「修正対象の文字列」と「修正後の文字列」とが登録されている。
本実施形態では、このオートコレクト機能を明細書作成における参照符号の入力支援に用いる場合の「修正対象の文字列」と「修正後の文字列」との登録方法を示す。
(登録方法)
名称と参照符号の登録方法を図を用いて説明する。
図1(a)および図1(b)は、「ギヤボックス15」を登録する場合の入力例を示している。入力する方法は、所定の管理画面を起動させて入力する図1(a)や、ツールバーに用意された入力欄に入力する図1(b)がある。参照符号と名称を別々に入力しているが、組み合わせて一度に入力欄に入れてもよい。または、図3(a)に示すように、文章を入力中に対象となる参照符号と名称を選択して登録処理を実施してもよい。
これらは名称と参照符号を取得するための入力なので、名称と参照符号とが正確に取得できれば、どのような入力方法でもかまわない。
例えば「エンジン10」の登録方法を示す。入力画面は、管理画面を起動させて入力する図1(a)や、ツールバーに用意された項目に入力する図1(b)がある。参照符号と名称を別々に入力しているが、組み合わせて一度に入力窓に入れてもよい。または、図3(a)に示すように、文章を入力中に対象となる参照符号と名称を選択して登録処理を実施してもよい。
本実施形態においては、上記のいずれの方法においても、入力された名称(第1文字列)と参照符号(第2文字列)に基づいて、以下の二つの登録方法が用いられる。ただし、下記のいずれか一方の登録方法だけを用いてもよい。
以下に、「エンジン10」を用いて、登録方法を詳述する。
・登録方法(1)
修正対象の文字列:「10」 (第2文字列)
修正後の文字列」「エンジン10」 (第1文字列+第2文字列)
・登録方法(2)
修正対象の文字列:「エンジン」 (第1文字列)
修正後の文字列」「エンジン10」 (第1文字列+第2文字列)
このように登録方法(1)と登録方法(2)を用意することで、文書中に「エンジン」と入力した場合にも、「10」と入力した場合にも、ともに「エンジン10」に修正されることになる。
以後、本明細書中では、「エンジン10を登録する」と記載された場合には、上記の登録方法(1)と登録方法(2)を用いてそれぞれの修正対象の文字列と修正後の文字列をオートコレクトに登録することを意味する。
なお、本実施形態においては、第2文字列に「@」を用いた場合には、「@」は重複可能な文字列として登録できるようにする。つまり、第2文字列(参照符号)@に対応する構成要素の名称は複数登録できるようにする。したがって、@を参照符号として含む文字列を登録する場合には、@と特定の1つの第1文字列(名称)とを関連付けるための登録方法(1)は実施されない。結果、登録方法(2)のみが実施される。
具体的には、「エンジン@」を登録する場合には、登録方法(2)による登録のみが行われる。そのため、「エンジン」と入力した場合に、「エンジン@」へ修正されるが、「@」と入力しても修正されない。
なお、明細書の作成では、参照符号と名称はそれぞれが重複しないことが前提である。よって、登録時には、今回新規に登録する修正対象の文字列である第1文字列と第2文字列のそれぞれが、すでに登録された修正対象の文字列と重複しないことを確認する必要がある。
(重複確認処理)
図2(a)は、重複確認用フローチャートを示す。このフローチャートのステップ100では、修正対象の文字列として新規に登録する「第1文字列+第2文字列」がすでに登録されているか否かを判定する。具体的には、修正対象の文字列として新規に登録する「第1文字列+第2文字列」と同一の文字列が、ワードに登録されている「デフォルトの928の修正後の文字列」および「明細書作成用に登録された修正後の文字列」のそれぞれと一致するか否かを確認する。以後、上記の”ワードに登録されている「デフォルトの928の修正後の文字列」および「明細書作成用に登録された修正後の文字列」”を「登録済みの修正後の文字列」と表記する。
修正対象の文字列として新規に登録する「第1文字列+第2文字列」と同一の文字列が、登録済みの「修正後の文字列」と一致しない場合、つまり、修正対象の文字列として新規に登録する「第1文字列+第2文字列」が登録されていない場合、ステップ110に進む。「第1文字列+第2文字列」と同一の文字列がすでに登録されている場合は、登録が不要であるため、図2(a)に示した重複確認処理を終了する。この場合に、「『第1文字列+第2文字列』は登録済みです。」などのメッセージを表示してから本処理を終了するようにしてもよい。
ステップ110では、第1文字列が修正対象の文字列として登録されているか否かを判定する。具体的には、第1文字列と同一の文字列が、ワードに登録されている「デフォルトの928の修正対象の文字列」および「明細書作成用に登録された修正対象の文字列」のそれぞれと一致するか否かを確認する。以後、上記の”ワードに登録されている「デフォルトの928の修正対象の文字列」および「明細書作成用に登録された修正対象の文字列」”を「登録済みの修正対象の文字列」と表記する。
第1文字列が修正対象の文字列として登録されている場合、ステップ111に進み、Flag1の値を1とする。一方、第1文字列が修正対象の文字列として登録されていない場合、ステップ112に進み、Flag1の値を0とする。
ステップ111でFlag1の値を1とした場合、ステップ120に進み、登録済みの第1文字列に対応する参照符号が「@」であるか否かを判定する。本実施形態において、登録されている文字列は、「デフォルトの928の修正対象の文字列」および「明細書作成用に登録された修正対象の文字列」のいずれかである。よって、デフォルトの文字列以外には、明細書作成用の構成要素名称と参照符号とが必ずセットになって登録されている。
つまり、「明細書作成用に登録された修正対象の文字列」に対応する「明細書作成用に登録された修正後の文字列」は、文字列の最後尾に参照符号が記載されている。
ステップ120では、「修正対象の文字列」として登録されている第1文字列に対応する「修正後の文字列」の最後尾に記載されている参照符号が「@」であるか否かを判定している。以下、上記対応する”登録済みの「修正後の文字列」の参照符号”を、「登録済み符号」と呼ぶ。
登録済み符号が「@」であると判定された場合、ステップ121に進み、Flag2の値を1に設定する。一方、登録済み符号が「@」ではないと判定された場合、ステップ122に進み、Flag2の値を0と設定する。
ステップ112、ステップ121、ステップ122にてそれぞれの値を設定した後、ステップ130に進む。ステップ130では、第2文字列が修正対象の文字列として登録されているか否かを判定する。
具体的には、第2文字列に対応する文字列が「登録済みの修正対象の文字列」のいずれかに一致するかどうかを判定し、一致した場合には、第2文字列が登録済みであると判定し、一致しない場合には、第2文字列が登録されていないと判定する。
第2文字列が登録されている場合、ステップ131に進み、Flag3の値を1に設定して、本重複確認の処理を終了する。
なお、上述のとおり、本実施形態においては、@を第2文字列(符号)とする文字列を登録する場合には、登録方法(2)のみが実施される。よって、@が修正対象の文字列として登録されることはない。具体的には、「エンジン@」を登録する場合には、修正対象の文字列になるのは、「エンジン」のみであり、「@」は修正対象の文字列にはならない。
このことから、ステップ130にて、第2文字列が修正対象の文字列として登録されていると判定された場合には、この第2文字列は@ではないと判断することができる。つまり、Flag3の値が1であるときには、新規に登録する第2文字列は@以外の文字列であるとわかる。
一方、ステップ130にて、第2文字列が登録されていないと判定された場合、ステップ132に進み、Flag3の値を0に設定する。
その後、ステップ140に進み、第2文字列が「@」であるか否かを判定する。第2文字列が「@」である場合、ステップ141に進み、Flag4の値を1に設定する。一方、第2文字列が「@」ではない場合、ステップ142に進み、Flag4の値を0に設定する。
Flag4の値を設定すると、重複確認処理を終了する。
たとえば、新規に登録する文字列が「エンジン10」である場合には、修正対象の文字列は、第1文字列である「エンジン」と第2文字列である「10」である。また、「エンジン10」が修正後の文字列である。
よって、ステップ100では、修正後の文字列である「エンジン10」が登録済みの修正後の文字列と一致するか否かを判定する。
ステップ110では、第1文字列である「エンジン」が登録済みの修正対象の文字列と一致するか否かを判定する。つまり、登録方法(2)により、「エンジン」がすでに修正対象の文字列として登録されているか否かを判定している。
ステップ120では、「エンジン」がすでに修正対象の文字列として登録されている場合に、「エンジン」に対応して登録されている符号が@であるか否かを判定する。つまり、登録されている修正後の文字列が「エンジン@」なのか否かを判定する。
ステップ130では、第2文字列である「10」が登録済みの修正対象の文字列と一致するか否かを判定する。つまり、登録方法(1)により、「10」が修正対象の文字列としてすでに登録されているか否かを判定する。
また、ステップ140では、第2文字列である「10」が@であるか否かを判定する。
(重複状況に応じた登録処理)
図2(b)は、図2(a)に示された重複確認のフローチャートで判定したフラグ(Flag1、Flag2、Flag3、Flag4)の数値によって、登録処理をどのように行うのかの一例を示した登録処理の一覧表である。
ステップ100で、今回新規で登録しようとした「第1文字列+第2文字列」が、すでに登録されていると判定された場合には、登録処理をする必要がない。よって、この場合には図2(b)に対応する項目がない。
登録処理の一覧表の列(縦の欄)は、第2文字列(符号)の重複があるのか否かを示しており、Flag3に対応する。また、図2(a)のフローチャートに示されたように、Flag3が0の場合には、第2文字列が@か否かにより分類されている。
登録処理の一覧表の行(横の欄)は、第1文字列(名称)の重複があるのか否かを示しており、Flag1に対応する。また、図2(a)のフローチャートに示されたように、Flag1が1の場合には、登録済み符号が@か否かで分類されており、この分類はFlag2に対応する。
具体的に、図2(b)における例(2)の欄(Flag1=1、Flag2=1、Flag3=0、Flag4=0)の場合と、例(3)の欄(Flag1=1、Flag2=0、Flag3=1)の場合とを説明する。
どちらの場合にも、基本的な考え方は、重複する登録済みのものを削除し、新規の登録をする、ということである。@の符号が含まれる文字列を扱う場合には、登録方法(2)の場合のみを削除もしくは登録し、@以外の符号が含まれる文字列の場合には、登録方法(1)と(2)を削除もしくは登録する。
なお、重複可能な参照符号(本実施形態においては「@」)を登録しない場合には、図2(b)の例(3)、(5)、(6)、(8)の登録のみとなり、Flag2およびFlag4は判別する必要がなくなる。
(例(2)の場合)
図2(b)に例示されるとおり、「エンジン@」が登録されている状態で、「エンジン20」を登録する場合について説明する。
この場合には、図2(a)のフローチャートにより、フラグ(Flag1=1、Flag2=1、Flag3=0、Flag4=0)の値が決定され、処理内容が例(2)のとおりになる。実際には、「エンジン@がすでに登録されています。@を20に変更しますか?」などのメッセージをユーザに通知し、ユーザが登録を進める場合にのみ、例(2)に示したようにエンジンの符号を@から20に変更する処理を行うようにしてもよい。
例(2)では、「エンジン20」について登録方法(1)および登録方法(2)を実施する。また、すでに登録されていた「エンジン@」の登録方法(2)の内容を削除する。前述のとおり、第2文字列が@の場合には、登録方法(1)による@の登録はされていないため、登録方法(1)の内容を削除する必要はない。
また、マイクロソフト社のワードのオートコレクト機能においては、登録方法(2)の場合に、修正対象の文字列である「エンジン」の修正後の文字列を「エンジン20」とすれば、すでに登録されていた修正後の文字列である「エンジン@」は削除されたことになる。よって、実際にはプログラム上では、「エンジン@」の登録方法(2)による登録内容の削除をする必要がない。
(例(3)の場合)
同様に、「エンジン10」と「ピストン20」が登録されている場合に、「エンジン20」を登録する場合を説明する。
この場合、「エンジン10とピストン20が登録されています。エンジン20として登録しますか?」などのメッセージをユーザに通知して、ユーザが登録を許可した場合にのみ、以下の処理をするようにしてもよい。こうすれば、ユーザが登録の重複を知った上で、新規の内容を登録することができる。特に、例(3)の場合には、ピストン20の登録を完全に削除することになるため、符号表の登録内容をユーザが確認しやすくなるという点において、上記通知は効果的である。
ユーザが登録を許可した場合には、「エンジン10」と「ピストン20」に対応する登録方法(1)の内容を削除する。そして、「エンジン20」の登録方法(1)の内容を新規に登録する。
また、「エンジン10」と「ピストン20」に対応する登録方法(2)の内容を削除する。そして、「エンジン20」の登録方法(2)の内容を新規に登録する。
(テキスト登録処理)
図1(a)および図1(b)に示したような登録画面やツールバーに名称と参照符号を入力しなくても、文章作成中に登録する文字列を選択した状態でユーザが所定の操作をすることにより、上記と同様の登録方法(1)および登録方法(2)を実行することができる。このように、文字入力中の文字列またはテキストを選択して登録することを「テキスト登録処理」という。以下、図3(a)〜図3(c)および、図4のテキスト登録処理のフローチャートを用いて登録方法を説明する。
テキスト登録処理では、選択された文字列の範囲内で、第1文字列と第2文字列とを取得し、それぞれを用いて登録処理を行う。
たとえば、エンジン10を登録する場合には、図3(a)のとおり、「エンジン10は」を文章中で選択する。このとき、図3(a)のように登録するための文字列の語尾に参照符号以外の文字「は」が含まれていてもよいし、登録する文字列「エンジン10」のみを選択してもよい。
選択された状態で、ユーザが所定の操作をすると、図4のテキスト登録処理が実行される。所定の操作とは、「Alt+R」の入力(キーボードのAltキーとRキーを同時に押すこと)、右クリックからショートカットボタンをクリックすること、またはツールバーの所定のボタンをクリックすることを意味する。ワードで実行可能な所定のマクロプログラムが実行されるための操作であれば上記に限定されない。
図4のテキスト登録処理が実行されると、ステップ301において、文字列が選択されているか否かを判定する。文字列が選択されていない場合には、テキスト登録処理を終了する。
ステップ301にて文字列が選択されていると判定された場合には、選択された文字列の末尾の文字(日本語においては右端)から選択された文字列の先頭(日本語においては左端)に向かって、選択されている文字列の中で所定の文字列を検索する。
所定の文字列とは、参照符号に相当する文字列である。本実施形態では、全角の英数字、全角の@マークに相当する。なお全角の英字は大文字および小文字を含む。しかし、上記に限る必要はない。
マイクロソフトのワードにて用いられるプログラム言語であるVBAでは、ワイルドカード検索する文字列として、例えば以下のものが用いられる。

.Text = "([A-Za-z0-9@]{1,})"

この条件により、1文字以上の連続した上記所定の文字列を検索する(ステップ302)。
ステップ301にて選択された文字列の中から所定の文字列が見つかったか否かをステップ303にて判定し、図3(b)のとおり所定の文字列(本実施形態では「10」)が見つかった場合にはステップ304にて見つかった所定の文字列を第2文字列として取得する。
ステップ303にて所定の文字列が見つからなかった場合には、本処理を終了する。このときに、「参照符号が見つかりません。」などのメッセージを表示してもよい。
ステップ305では、ステップ303で見つかった文字列の左側からステップ301にて選択された文字列の先頭(左端)までの文字列を選択する。図3(c)に示すように、所定の文字列を含まずに、「エンジン」のみが選択される。
ステップ305で取得された文字列「エンジン」は、第1文字列として取得される(ステップ306)。
上記のように第1文字列と第2文字列を取得したあとは、前述のとおり図2(a)に基づいて重複確認を実施する(ステップ307)。
その後、ステップ308にて取得したフラグの情報と、図2(b)のマップとにもとづいて、登録方法(1)と登録方法(2)を実行して取得した第1文字列と第2文字列を登録する。
上記のように、参照符号(第2文字列)を最初に取得して、その後、名称(第1文字列)を取得するようにしたが、順序はどちらが先でもよい。
(自動入力)
以上のようにして登録した名称および参照符号を、明細書作成において自動入力する方法を以下に示す。
文章を入力時に「エンジン」と入力すると、オートコレクト機能が使われるために「エンジン10」へ修正される。また、「10」と入力した場合にも、「エンジン10」へ修正される。
ここでいう入力とは、ひらがなで「えんじん」と入力した後にカタカナに変換「エンジン」として、例えばエンターキーを押して確定することを意味する。また、「エンジン」または「10」として修正対象となる第1文字列または第2文字列だけを確定する場合に限らず、第1文字列または第2文字列とそれ以外の文字列を含む場合(例えば、「10の上に」をエンターキーにて確定した場合)にも同様の修正がなされ、「エンジン10の上に」と修正される。
これは、マイクロソフトのワードのオートコレクト機能の仕様によるため、他のワープロソフトにおいては別の確定方法および自動修正機能としてもよい。また、文字列の入力や確定の手段はキーボードに限らず、マイクなどを利用した音声入力でもよい。
(表示方式)
本発明では、文章作成時に入力すべき符号や名称を確認できるように、符号表を表示できる。
図5(a)に示すとおり、符号表をワードの文字入力画面に表示させてもよい。現在登録されている名称と符号の関係を表示させることが出来る。また、図5(b)のとおり、登録方法(1)と登録方法(2)の両方にて登録した内容(変換表とよぶ)を全て表示するようにしてもよい。また、図5(c)には、ツールバーに符号表を表示させる方法を示す。この場合には、文章を入力中は表示させておくことは出来ず、つまり、ツールバーのプルダウンメニューをクリックした場合にしか表示されない。
これにより、本発明では、重複を確認した上で登録をするため、符号や名称を登録する際の重複がなくなる。
また、自動で符号を入力することが可能であるため、余計なキー入力は不要となり、より簡便な操作が実現される。
さらに、図5(a)〜図5(c)に示すように、当該符号表を画面に表示させることで、文章入力中に随時登録されている名称と符号の関係を確認することが可能である。
加えて、「@」を符号に使うことも可能である。これにより、符号を@を使用して仮入力した後に、一括で置換することも可能である。
また、図1(a)のように、登録済みの名称や符号を確認しながら新規登録を行うことができる。
さらに、テキスト登録処理により、文書中に文字入力をしながら随時登録が可能である。
(一括書き出し機能)
図5(a)および図5(b)に記載された画面に登録された符号表を、一括してワード文書として抜き出すことができる。よって、書き出した符号表を、特許明細書の「符号の説明」欄に用いることができる。また、明細書作成に用いた符号であるので、書き出した符号表には誤記がない。その結果、符号表の作成の手間が省け、かつ正確性の向上をはかることができる。
(登録内容の全削除機能)
図5(b)に記載された画面の登録内容をボタンのワンクリックですべて削除することができる。
現在のワードの仕様では、オートコレクトの管理画面にて、登録された一組ずつを選択して削除する。よって、例えば、100組の登録文字列がある場合には、削除の操作を100回繰り返すことになり手間である。
上記のように、登録された修正対象の文字列をワンクリックで削除できるようにすれば、時間の節約ができる。
(一括登録機能・一括削除機能)
また、本実施形態においては、ワード文書にタブ区切りなどの所定の区切り方式にて参照符号と名称を複数セット記載しておけば(図6)、図1(a)および図1(b)に記載された画面にて所定のボタンをクリックすると符号表の内容を一括で登録できる。逆に、その対象となるワード文書に記載された符号表の内容を一括で削除することも可能である。
よって、明細書作成実務において、分野や発明者に応じて、複数の符号表をあらかじめ用意しておき、対象となる発明に応じて、その複数の符号表から対応する符号表を選んで登録することができる。
(個別削除機能)
図5(a)に表示された符号表の登録内容を個別に選択して、削除することが可能である。図1(a)の「現在の登録内容」の表示において、たとえば「20 ピストン」を選択して所定のボタンをクリックすると、対応する登録方法(1)と登録方法(2)による登録内容が削除される。具体的には、「修正対象の文字列:20」と「修正後の文字列:ピストン20」との組み合わせおよび「修正対象の文字列:ピストン」と「修正後の文字列:ピストン20」との組み合わせが登録から削除される。
また、例えば「@ クランク軸」を選択して、削除をするための所定のボタンをクリックした場合には、登録方法(2)による登録内容のみが削除される。具体的には、「修正対象の文字列:クランク軸」と「修正後の文字列:クランク軸@」との組み合わせが登録から削除される。
また、変換表の表示(図5(b)参照)にて、特定の組み合わせを選択した場合に所定の削除操作をした場合にも、同様に対応する組みあわせも削除するようにしてもよい。例えば、図5(b)の「現在の登録内容」に表示される「弁体 弁体40」を選択して所定の操作を行った場合、「修正対象の文字列:弁体」と「修正後の文字列:弁体40」との組み合わせだけではなく、「修正対象の文字列:40」と「修正後の文字列:弁体40」との組み合わせも登録から削除される。
このようにすれば、削除もれがなくなるため、常に対になる組み合わせが登録されていることになる。また、上記のようにひとつの組合せを選択した場合だけではなく、複数の組合せを同時に選択した場合に所定の削除操作をした場合に、それぞれに対応する組合せが削除されるようにしてもよい。例えば、図5(a)において、「10 エンジン」と「20 ピストン」とを同時に選択した状態で所定の削除操作をすると、「修正対象の文字列:10」と「修正後の文字列:エンジン10」との組み合わせ、「修正対象の文字列:エンジン」と「修正後の文字列:エンジン10」との組合せ、「修正対象の文字列:20」と「修正後の文字列:ピストン20」との組み合わせ、および「修正対象の文字列:ピストン」と「修正後の文字列:ピストン20」との組合せが削除される。
また、特定の発明に関する明細書を作成途中で、別の発明の明細書を作成する場合、以下の手順で簡単に設定が可能である。
(2つの異なる発明の場合)
まず、後で使うために、現在の登録内容を「一括書き出し機能」にてワード文書に書き出して保存し、現在の登録内容を「登録内容の全削除機能」で削除する。次に作成する明細書で用いられる符号表を「一括登録機能」にて登録する。
(類似の発明の場合)
後で使うために、現在の登録内容は「一括書き出し機能」にてワード文書に書き出して保存し、現在の登録内容のうち、現在作成中の明細書に特有の符号を削除する。もし、現在作成中の明細書に特有の符号のみを記載した図6に示したワード文書の符号表があれば、「一括削除機能」にて削除する。「個別削除機能」にて削除してもよい。この結果、現在作成中の明細書と次に作成する明細書との共通項目のみが登録されていることになる。次に、作成する明細書に特有の符号を登録する。登録には、「一括登録機能」を用いると手間が省くことができ、作業の効率化につながる。
(登録スピードの向上)
上記の実施形態においては、図2(a)のステップ100、110、120、130、および140では、重複確認のために現在登録されている内容(参照符号と名称との組み合わせ、およびワードにデフォルトで登録されている928個の修正項目)を全て確認している。そのため、ひとつの新規登録に対して重複を確認するために、例えば、1000個の登録内容と比較する必要があり、コンピュータの性能が低い場合には、比較的長めの処理時間を要する。
そこで、ワードにデフォルトで登録されている928個のうち、一部または全てを一時的に削除することで、毎回1000個の登録内容と比較する必要がないようにしてもよい。
このとき、一部または全てのデフォルト登録文字列を一時的に削除するタイミングは、いつでもよい。例えば、登録処理を実施する前に、デフォルト内容を削除し、登録処理を実施後に、デフォルト内容を再登録するようにしてもよい。また、常にデフォルト内容を削除したままで登録処理を実施してもよい。デフォルト内容を修正項目として用いたい場合には、所定の操作でデフォルト内容を一括で登録できるようにすればよい。
このようにすることで、性能の低いコンピュータであっても、ストレスなく登録処理を実施することができる。
登録や削除の方法は様々である。たとえば、あらかじめデフォルトの「修正対象の文字列」と「修正後の文字列」の変換表(対応表)を作成しておき、一括登録・削除をできるようにしておいてもよい。この場合、ワード文書で変換表を作っておいてもよいし、プログラム中に組み込んでおいてもよい。
なお、たとえば、添付のプログラム文においては、登録されている修正対象の文字列および修正後の文字列をすべてプログラム文の中に保存している。ただし、機種依存文字が修正対象の文字列または修正後の文字列にデフォルトで登録されていた場合には、これらは削除せずに登録したままにしておく。なぜなら、機種依存文字が、プログラムを作成するソフトウェアにて表示できない文字種の場合、プログラム文にその機種依存文字を書いた場合に文字化けをするおそれがある。
例えば、ワードのプログラム作成ソフトウェアであるビジュアルベーシックエディタ(VBE)では、特定の機種依存文字を表示できないため、文字化けしてしまう。よって、ビジュアルベーシックエディタのプログラム文にて、特定の機種依存文字を入力する命令文を書いても、文字化けした文字列が登録されてしまうことになる。
よって、上記のように、機種依存文字は登録したままにしておけば、上述のような登録スピードを向上させる処理を行ったとしても、文字化けした文字列を誤って登録してしまうことがなくなる。
(管理画面およびツールバーの符号表の表示)
図5(a)〜図5(c)の符号表の表示には、デフォルトで登録された文字列は表示されないようになっている。つまり、「デフォルトで登録される928個の修正対象の文字列」以外のものを選択し、表示するようにしている。
また、修正後の文字列は、全て「名称+参照符号」であるため、符号表の表示用として、修正後の文字列から参照符号を削除して名称だけを表示するようにしている。具体的な符号表の作成方法の一例を図7のフローチャートに示す。
まず、ステップ201にて、ひとつの修正対象の文字列を所定のデータベース(オートコレクトの対象となる文字列が登録されているデータベース)から取得する。そして、この取得した修正対象の文字列が、参照符号用に登録した文字列であるか否かを判定する。つまり、この取得した修正対象の文字列がデフォルトで登録された文字列ではないことを確認する。
ステップ201にて、この取得した修正対象の文字列が参照符号用に登録した文字列であると判定された場合、ステップ202にて、修正対象の文字列が所定の種類の文字列であるか否かを判定する。このことにより、修正対象の文字列が登録方法(1)で登録された「参照符号」なのか、もしくは登録方法(2)で登録された「名称」なのかを判定する。
上記の所定の種類の文字列とは、例えば、日本語明細書の作成にあたり、「全角英数字」を示す。符号として使用する文字列に別の記号を用いる場合には、それらの記号も所定の種類の文字列に含めるとよい。
アスキーコードでは、以下の判別式で判定が可能である。この場合、全角の0から9、全角の大文字アルファベットAからZ、および全角の小文字アルファベットaからzのいずれかに該当するか否かを判別している。
本実施形態では、全角の@は修正対象の文字列として登録されることがないため、所定の種類の文字列に含まれない。

If
(Asc(Left(修正対象の文字列, 1)) >= -32177 And _

Asc(Left(修正対象の文字列, 1)) <= -32168) Or _

(Asc(Left(修正対象の文字列, 1)) >= -32160 And _

Asc(Left(修正対象の文字列, 1)) <= -32135) Or _

(Asc(Left(修正対象の文字列, 1)) >= -32127 And _

Asc(Left(修正対象の文字列, 1)) <= -32102) Then
また、修正対象の文字列に含まれるすべてのテキスト文字に対して、上記の判定を行ってもよいし、テキスト文字の一部だけを判定に用いてもよい。
本実施形態においては、ステップ202にて、修正対象の文字列の最初の1文字(左から1文字目)が全角英数字であるかを判定している。
ステップ202にて、修正対象の文字列の最初の1文字(左から1文字目)が全角英数字であると判定された場合には、ステップ203に進み、第2文字列(参照符合)として修正対象の文字列を取得する。
次に、ステップ204にて、ステップ201にて取得した「修正対象の文字列」に対応する「修正後の文字列」を取得する。
例えば、「エンジン10」が登録されている場合には、ステップ203にて判定された修正対象の文字列は「10」であり、対応する修正後の文字列は「エンジン10」である。
ステップ205では、第1文字列を修正対象の文字列と修正後の文字列をもとにして取得する。
本実施形態においては、まず、修正対象の文字列をLen1とし、修正後の文字列の文字数をLen2とする。この場合、修正後の文字列の左から(Len2-Len1)数のテキスト文字が、第1文字列に対応する。

具体的には、

Len1 = Len(修正対象の文字列)
Len2 = Len(修正後の文字列)
第1文字列 = Left(修正後の文字列,
Len2 - Len1)

のコードにて、第1文字列を取得する。
次に、ステップ206にて、符号表に登録する。符号表は「参照符号」とそれに対応する「名称」が一組で記載される。本実施形態においては、参照符号は左に書かれ、名称がその右側に空欄や記号で区切られて記載される。
本実施形態では、一覧表の管理画面(図5(b))における表示形式にListboxを用いているが、この登録を、以下のコードにて行っている。

Listbox.AddItem refNum(m)
& vbTab & tgtEntry1
この登録が終了した後、別の修正対象の文字列が所定のデータベースに保存されているか否かを判定する。
もし次の修正対象の文字列がある場合には、ステップ201に戻り、上記の登録処理を繰り返す。次の修正対象の文字列がない場合には、本登録処理を終了する。
なお、上記、ステップ202にて、修正対象の文字列の最初の1文字(左から1文字目)が全角英数字であると判定されなかったこの場合にも、ステップ207に進む。
このような処理をすることによって、明細書作成者が見慣れた符号表を管理画面およびツールバーに表示させることができる。
上記とは別に、修正対象の文字列が第1文字列(名称)の場合(ステップ202でNOと判定された場合)に、同様の方法で第2文字列を取得する処理としてもよい。
また、上記方法に限らず、登録された「修正対象の文字列」と「修正後の文字列」との組み合わせから、符号と名称の対応関係を取得できる方法があれば、どのような方法でも適用が可能である。また、Listboxに表示する場合には、符号が昇順に表示されると見やすく、作業の効率が高まる。
さらに、文字列を登録するたびに上記の符号表の作成を行うと、常に最新の登録内容が符号表として表示されるため便利である。
なお、上記実施形態においては、「デフォルトの928の文字列」および「明細書作成用に登録された文字列」がオートコレクト用に登録されている場合において説明をした。しかし、上記の登録内容に限らず、別の文字列が登録されている場合においても、所定の判別式を用いることで、上述のような重複確認および登録、または符号表の表示の作成が可能である。
(英語の明細書の組み合わせ)
上記実施形態では、日本語明細書の作成に用いられる名称と参照符号の登録と自動修正の方法を示した。しかし、本発明は上記に限らず、日本語以外の言語に適用が可能である。たとえば、英語の明細書においても同様のことができる。ただし、英語の場合には、参照符号と名称との間に半角スペースをいれて登録する必要があるため、登録する言語に応じて、登録方法を適宜変更するとよい。
(参照符号の自動入力のオンオフ)
ワードのオートコレクトのオン・オフは、所定の操作により実行が可能である。これによって、この参照符号の自動入力作業のオン・オフの設定は、オートコレクトのオン・オフを切り替えれば可能である。また、このオートコレクトのオン・オフを切り替えるためのボタン(図1(b)における「AC」と表示されたボタン)をツールバーに表示すると、操作性が向上する。
(登録済みの文字列の表示)
明細書の書き方によっては、実施形態ごとに同じ名称であっても別の参照符号をふりなおす場合がある。そのようなときのために、図8(a)および図8(b)に示すように、名称を記入する欄に、プルダウンメニューを設け、すでに登録済みの名称を表示させることができる。このことで、登録されている名称に対して、符号だけを修正したい場合に便利である。
また、図8(c)に示すように、名称だけではなく、すでに登録済みの符号もプルダウンメニューなどを用いて表示させるようにしてもよい。この場合も、登録済みの符合と似た符合を登録する場合に便利である。例えば、すでに「200a」が登録されており、「200b」、「200c」、、、と登録を続ける場合に、プルダウンメニューから200aを選択して、そのaを新しい文字b、c、、、に書き換えるだけで符号が完成する。
または、登録済みの符号をプルダウンメニューで表示させれば、すでに登録済みの符号がわかるので、重複しない符号を選んで登録することにも役に立つ。この場合には、@を表示してもしなくてもよい。
上記のように、登録済みの符号や名称を表示させることで、入力の手間が削減され、かつ入力の正確性が向上する。
(参照符号@の一括置換機能について)
明細書を作成するにあたり、参照符号を特定せずに書く場合、@を仮の参照符号として記載する方法がある。この場合、一旦明細書を作成し終えたら、@で仮に入力した参照符号を、正式な符号に書きなおす必要がある。
本実施形態の参照符号の一括置換機能を利用すれば、@で仮入力した全ての参照符号を一括で入力できる。また、構成要素の名称に誤記があった場合には置換されないため、一括置換の際に名称の誤記も発見することができる。
まず、図9に示すような参照符号表を用意する。本実施形態においては、符号を左に記載し、その符号に対応する構成要素名称をタブで区切った右側に記載している。符号と名称の組合せが表記されていれば、上記に限らず、スペースで区切ることもできるし、符号を右側に記載することもできる。また罫線で区切られた表に記載してもよい。
この参照符号表には、@で仮入力した符号のみならず、明細書で使われている符号を記載してもよい。
図10に示されたように、参照符号として仮に@で入力された文章を用意する。すべての参照符号を@で入力する必要はなく、一部の名称だけが@の参照符号がふられていてもよい。
参照符号の一括置換機能では、例えば、図10の符号表の上の1段目から2段目以降にかけて順番に符号と名称とを読み取り、対象となる文章に対して一括置換をする。
このときの置換式は、以下のとおりである。
検索する文字列:名称@
置換後の文字列:名称+符号
具体的には、図9の符号表の1段目を読み込んだ場合には、以下の一括置換を実施することになる。
検索する文字列:車椅子@
置換後の文字列:車椅子1
この場合、図11のように、@を対応する符号に置換することができる。
また、図12のような別の文章があり、これを図9で示した符号表にて参照符号の一括置換機能を実行する。
もし、名称と符号が符号表に記載されていない場合には、@が文中に置換されずに残る。よって、この場合には、例えば@を蛍光色で着色することにより、符号の入力漏れがあることが確認できる(図13)。
また、図14のような文章において、図15の符号表を用いて一括置換をする場合には、符号表に掲載する名称を所定の順序で読み込む必要がある。つまり、図15の符号表に、同様の名称が含まれている場合には、名称を読み込む順序を所定の順序にする必要がある。
たとえば、「座部@」を「座部4」に変更する前に、「第1座部@」を「第1座部4a」に変換する必要がある。そうでなければ、「第1座部@」を「第1座部4a」に置換する前に、「座部@」を「座部4」と置換してしまうため、「第1座部4」と間違った置換結果となってしまう。
本実施形態では、符号表の1段目から符号と名称を読み込むようにしてあるので、この場合には、図16のように、符号表に記載する名称を文字数が多い順で記載すれば、上記のような間違った置換を予防することができる。
また、置換に用いられた符号を別の表に書き出したり、図9の符号表中の置換に用いられた符号に着色や下線をひいたりして印をつけることで、どの文字列が置換されたのか確認しやすくなる。
(別の用途)
なお、上記実施形態においては、ワードにて明細書を作成する場合の例を示したが、本発明は上記に限定されない。たとえば、ワード以外のワープロソフトにおいて明細書を作成する場合にも、対応したプログラミング言語にて同様の機能を達成することが可能である。
また、明細書を作成する以外にも記号や符号を伴う文字列を入力する際に、本発明を用いることができる。
また、本発明はワープロ機能以外にも、文字入力を伴うコンピュータアプリケーションであれば、用いることができる。例えば、表計算ソフト、メールソフト、時間管理ソフト、音楽作成ソフト、音楽管理ソフト、動画作成ソフト、データベースソフト、プレゼンテーション資料作成ソフトなどに用いても、上記実施形態と同様の効果を得ることができる。また、この場合、同じ符号表を用いれば、すべてのアプリケーションソフトにおいて符号と名称とが統一されるため、複数のアプリケーションを用いた作業における品質とスピードの向上が期待できる。
なお、本発明は上述した実施形態に限定されるものではなく、本発明の主旨を逸脱しない範囲内で種々変更して実施することが可能である。
また、上述した実施形態は、本発明に係る技術思想を具現化するための実施形態の一例を示したにすぎないものであり、他の実施形態でも本発明に係る技術思想を適用することが可能である。
さらにまた、本発明を用いて生産される装置、方法、システムが、その2次的生産品に搭載されて商品化された場合であっても、本発明の価値は何ら減ずるものではない。
重複確認用のプログラム文は、以下のとおりである。
Option Explicit

Sub 登録処理(srcWord As String, rplWord As
String, refNum0 As String)

'●重複確認と登録
'登録読込み
Dim m, mCnt As Integer
Dim tgtEntry(0 To 300) As String
Dim refEntry(0 To 300) As String
Dim refNum(0 To 300) As String
Dim eQuNum, eQuNam, eQu As Boolean
Dim msg As Variant
Dim tgtLen, refLen As Integer
Dim CntNam, CntNum As Integer
Dim dltEntry As String
Dim i, iStart As Integer
Dim defEntry(1 To 947) As String
Dim acEntry As AutoCorrectEntry
Dim mMax As Integer

'デフォルトのオートコレクト項目一覧
defEntry(1) = "(c)"
・・・
defEntry(917) = "こんばんわ"

'デフォルトのオートコレクト項目一覧 (高速処理で削除しないで残す)
defEntry(918) = "-->"
defEntry(919) = ":("
defEntry(920) = ":)"
defEntry(921) = ":-("
defEntry(922) = ":-)"
defEntry(923) = ":-|"
defEntry(924) = ":|"
defEntry(925) = "<--"
defEntry(926) = "<=="
defEntry(927) = "<=>"
defEntry(928) = "==>"
defEntry(929) = "(c)"
defEntry(930) = "(r)"
defEntry(931) = "(tm)"
defEntry(932) = "blase"
defEntry(933) = "cafe"
defEntry(934) = "cliche"
defEntry(935) = "creme"
defEntry(936) = "decor"
defEntry(937) = "deja vu"
defEntry(938) = "detente"
defEntry(939) = "eclair"
defEntry(940) = "emigre"
defEntry(941) = "entree"
defEntry(942) = "facade"
defEntry(943) = "naive"
defEntry(944) = "protege"
defEntry(945) = "protoge"
defEntry(946) = "seance"
defEntry(947) = "vis-a-vis"


'デフォルト登録の有無確認
iStart = 918

For Each acEntry In AutoCorrect.Entries


If acEntry.Name <> defEntry(50) Then

GoTo nSkip

Else

iStart = 1

Exit For


End If
nSkip:

Next acEntry

m = 0

For Each acEntry In AutoCorrect.Entries

eQu = False

For i = iStart To
947

If acEntry.Name <> defEntry(i) Then

GoTo nn

Else

eQu = True

Exit For

End If
nn:
Next i

If eQu = False Then
m = m + 1
tgtEntry(m) =
acEntry.Name
refEntry(m) =
acEntry.Value
tgtLen =
Len(tgtEntry(m))
refLen =
Len(refEntry(m))

'修正対象の文字列が符号の場合
If
(Asc(Left(tgtEntry(m), 1)) >= -32177 And _

Asc(Left(tgtEntry(m), 1)) <= -32168) Or _

(Asc(Left(tgtEntry(m), 1)) >= -32160 And _

Asc(Left(tgtEntry(m), 1)) <= -32135) Or _

(Asc(Left(tgtEntry(m), 1)) >= -32127 And _

Asc(Left(tgtEntry(m), 1)) <= -32102) Then


'符号の取得

refNum(m) = tgtEntry(m)

'修正対象の文字列が名称の場合
Else



'符号の取得

refNum(m) = Right(refEntry(m), refLen - tgtLen)

End If

End If

Next acEntry

mMax = m


'●明細書用に用語が登録されていない場合●
'新規登録用語と重複するものがないと判断して、そのまま登録

If mMax = 0 Then

'新規登録する符号が@以外の場合
If refNum0 <>
"@" Then

AutoCorrect.Entries.Add Name:=srcWord, Value:=rplWord

AutoCorrect.Entries.Add Name:=refNum0, Value:=rplWord

'新規登録する符号が@の場合
Else

AutoCorrect.Entries.Add Name:=srcWord, Value:=rplWord
End If

GoTo m

End If


'●明細書用に用語が登録されている場合●
'登録済み用語と新規登録用語との重複確認をします。

eQuNam = False '名称に重複がないという仮入力
eQuNum = False '符号に重複がないという仮入力

For mCnt = 1 To mMax

'そのものが登録されている場合
If refEntry(mCnt) =
rplWord Then

MsgBox rplWord & "は登録されています。"

GoTo m '→処理を終了
End If

'名称が重複 (Flag1の判定)
If tgtEntry(mCnt) =
srcWord Then

eQuNam = True

CntNam = mCnt
End If

'符号が重複 (Flag3の判定)
If tgtEntry(mCnt) =
refNum0 Then

eQuNum = True
CntNum
= mCnt
End If

n:
Next mCnt

'●そのものが登録されてはいない場合における処理●
'重複の種類に応じて処理を分岐

'重複がない場合(Flag1=0、Flag3=0)
If (eQuNam = False And eQuNum = False)
Then

'新規登録する符号が@以外の場合(Flag4=0)→例(8)
If refNum0 <>
"@" Then

AutoCorrect.Entries.Add Name:=srcWord, Value:=rplWord

AutoCorrect.Entries.Add Name:=refNum0, Value:=rplWord

'新規登録する符号が@の場合(Flag4=1)→例(7)
Else

AutoCorrect.Entries.Add Name:=srcWord, Value:=rplWord
End If

End If

'名称のみが重複する場合(Flag1=1、Flag3=0)
If (eQuNam = True And eQuNum = False)
Then

'新規登録する符号が@以外の場合(Flag4=0)
If refNum0 <>
"@" Then



msg = MsgBox(srcWord & "は登録されています。" & _

vbCr & """" & refNum(CntNam) &
"""→""" & refNum0 & """に変更しますか?",
vbYesNo)

If
msg = vbNo Then

GoTo l

End If



If msg = vbYes Then



'登録済みの符号が@以外の場合(Flag2=0)→例(5)

If refNum(CntNam) <> "@" Then

AutoCorrect.Entries.Add Name:=srcWord, Value:=rplWord

AutoCorrect.Entries.Add Name:=refNum0, Value:=rplWord

AutoCorrect.Entries(refNum(CntNam)).Delete

GoTo m



'登録済みの符号が@の場合(Flag2=1)→例(2)

Else

AutoCorrect.Entries.Add Name:=srcWord, Value:=rplWord

AutoCorrect.Entries.Add Name:=refNum0, Value:=rplWord

GoTo m

End If

End If


Else


'新規登録する符号が@の場合(Flag4=1)→例(4)

msg = MsgBox(srcWord & "は登録されています。" & _

vbCr & """" & refNum(CntNam) &
"""→""" & refNum0 & """に変更しますか?",
vbYesNo)


If msg = vbNo Then

GoTo l

End If



If msg = vbYes Then

AutoCorrect.Entries.Add Name:=srcWord, Value:=rplWord

AutoCorrect.Entries(refNum(CntNam)).Delete

GoTo m

End If

End If

End If

'符号のみが重複する場合(Flag1=0、Flag3=1)→例(6)
If (eQuNam = False And eQuNum = True)
Then

tgtLen =
Len(tgtEntry(CntNum))
refLen =
Len(refEntry(CntNum))
dltEntry =
Left(refEntry(CntNum), refLen - tgtLen)

msg = MsgBox(refNum0
& "は登録されています。" & _

vbCr & """" & dltEntry &
"""→""" & srcWord & """に変更しますか?",
vbYesNo)

If msg = vbNo Then

GoTo l
End If

If msg = vbYes Then

AutoCorrect.Entries.Add Name:=srcWord, Value:=rplWord

AutoCorrect.Entries.Add Name:=refNum0, Value:=rplWord

AutoCorrect.Entries(dltEntry).Delete

GoTo m
End If

End If

'名称も符号も重複する場合(Flag1=1、Flag3=1)
If (eQuNam = True And eQuNum = True)
Then


msg =
MsgBox(refEntry(CntNum) & "と" & _

refEntry(CntNam) & "は登録されています。" & _

vbCr & """" & rplWord & """として登録しますか?",
vbYesNo)

If msg = vbNo Then

GoTo l
End If

If msg = vbYes Then


'登録済みの符号が@以外の場合(Flag2=0)→例(3)

If refNum(CntNam) <> "@" Then

tgtLen = Len(tgtEntry(CntNum))

refLen = Len(refEntry(CntNum))

dltEntry = Left(refEntry(CntNum), refLen - tgtLen)

AutoCorrect.Entries.Add Name:=srcWord, Value:=rplWord

AutoCorrect.Entries.Add Name:=refNum0, Value:=rplWord

AutoCorrect.Entries(dltEntry).Delete

AutoCorrect.Entries(refNum(CntNam)).Delete

GoTo m



'登録済みの符号が@以外の場合(Flag2=1)→例(1)

Else

tgtLen = Len(tgtEntry(CntNum))

refLen = Len(refEntry(CntNum))

dltEntry = Left(refEntry(CntNum), refLen - tgtLen)

AutoCorrect.Entries.Add Name:=srcWord, Value:=rplWord

AutoCorrect.Entries.Add Name:=refNum0, Value:=rplWord

AutoCorrect.Entries(dltEntry).Delete

GoTo m

End If


End If

End If

m:

l:

End Sub
また、表示更新のプログラムは、以下の通りである。
Option Explicit
Private
Const CBAR_NAME As String = "オートコレクト自動登録"

Sub
ListUpdate()

'表示ボタン

Dim
i, iStart As Integer
Dim
acEntry As AutoCorrectEntry
Dim
defEntry(1 To 947) As String
Dim
eQu As Boolean
Dim
m, mMax As Integer
Dim
refEntry(1 To 300) As String
Dim
tgtEntry(1 To 300) As String
Dim
refNum(1 To 300) As String
Dim
tgtLen, refLen As Integer
Dim
tgtEntry1 As String
Dim
myCbarCtl As CommandBarControl
Dim
myCbarCtl_Nam As CommandBarControl
Dim
myCbarCtl_Num As CommandBarControl

'デフォルトのオートコレクト項目一覧
defEntry(1)
= "(c)"
・・・
defEntry(917)
= "こんばんわ"

'デフォルトのオートコレクト項目一覧 (高速処理で削除しないで残す)
defEntry(918)
= "-->"
defEntry(919)
= ":("
defEntry(920)
= ":)"
defEntry(921)
= ":-("
defEntry(922)
= ":-)"
defEntry(923)
= ":-|"
defEntry(924)
= ":|"
defEntry(925)
= "<--"
defEntry(926)
= "<=="
defEntry(927)
= "<=>"
defEntry(928)
= "==>"
defEntry(929)
= "(c)"
defEntry(930)
= "(r)"
defEntry(931)
= "(tm)"
defEntry(932)
= "blase"
defEntry(933)
= "cafe"
defEntry(934)
= "cliche"
defEntry(935)
= "creme"
defEntry(936)
= "decor"
defEntry(937)
= "deja vu"
defEntry(938)
= "detente"
defEntry(939)
= "eclair"
defEntry(940)
= "emigre"
defEntry(941)
= "entree"
defEntry(942)
= "facade"
defEntry(943)
= "naive"
defEntry(944)
= "protege"
defEntry(945)
= "protoge"
defEntry(946)
= "seance"
defEntry(947)
= "vis-a-vis"

'現状のデータ削除
userform1.ListBox1.Clear
userform1.ListBox2.Clear
userform1.ListBox3.Clear
userform1.ListBox4.Clear
userform1.ListBox5.Clear
userform1.cboName.Clear

Set
myCbarCtl = CommandBars(CBAR_NAME).Controls("符号表")

With
myCbarCtl

.Clear

.AddItem "符号表"

.ListIndex = 1
End
With

Set
myCbarCtl_Nam = CommandBars(CBAR_NAME).Controls("名称")

With
myCbarCtl_Nam

.Clear

.Text = "名称"
End
With

Set
myCbarCtl_Num = CommandBars(CBAR_NAME).Controls("符号")

With
myCbarCtl_Num

.Clear

.Text = "符号"
End
With


'デフォルト登録の有無確認
iStart
= 918

For
Each acEntry In AutoCorrect.Entries


If acEntry.Name <> defEntry(50) Then

GoTo n

Else

iStart = 1

userform1.OB_初期設定_標準.Value = True

Exit For


End If
n:

Next
acEntry

m =
0

For
Each acEntry In AutoCorrect.Entries



eQu = False


For i = iStart To 947



If acEntry.Name <> defEntry(i) Then

GoTo nSkip

Else

eQu = True

Exit For

End If
nSkip:


Next i



If eQu = False Then

m = m + 1

tgtEntry(m) = acEntry.Name

refEntry(m) = acEntry.Value

tgtLen = Len(tgtEntry(m))

refLen = Len(refEntry(m))



'修正対象の文字列が符号の場合

'@は修正対象として未登録なので@以外の符号

If (Asc(Left(tgtEntry(m), 1)) >= -32177 And _

Asc(Left(tgtEntry(m), 1)) <= -32168) Or _

(Asc(Left(tgtEntry(m), 1)) >= -32160 And _

Asc(Left(tgtEntry(m), 1)) <= -32135) Or _

(Asc(Left(tgtEntry(m), 1)) >= -32127 And _

Asc(Left(tgtEntry(m), 1)) <= -32102) Then



refNum(m) = tgtEntry(m)



'修正対象の文字列が名称の場合

Else

refNum(m) = Right(refEntry(m), refLen - tgtLen)

End If



End If

Next
acEntry

mMax
= m

'明細書用の用語が1つ以上登録されている場合
If
mMax > 0 Then


For m = 1 To mMax



'(1)管理画面の「管理」タブの符号表

With userform1.ListBox1



'修正対象の文字列が符号の場合(@以外の符号)

If refNum(m) = tgtEntry(m) Then

tgtLen = Len(tgtEntry(m))

refLen = Len(refEntry(m))

tgtEntry1 = Left(refEntry(m), refLen - tgtLen)

.AddItem refNum(m) & vbTab & tgtEntry1

End If



'修正対象の文字列が@の場合

If Asc(Left(refNum(m), 1)) = -32361 Then

.AddItem refNum(m) & vbTab & tgtEntry(m)

End If



End With





'(2)管理画面の「管理」タブの変換表

With userform1.ListBox2



'登録内容すべてを表示

.AddItem tgtEntry(m) & vbTab & refEntry(m)



End With





'(3)管理画面の「符号表」タブの符号表

With userform1.ListBox3



'修正対象の文字列が符号の場合(@以外の符号)

If refNum(m) = tgtEntry(m) Then

tgtLen = Len(tgtEntry(m))

refLen = Len(refEntry(m))

tgtEntry1 = Left(refEntry(m), refLen - tgtLen)

.AddItem refNum(m) & vbTab & tgtEntry1

End If



'修正対象の文字列が@の場合

If Asc(Left(refNum(m), 1)) = -32361 Then

.AddItem refNum(m) & vbTab & tgtEntry(m)

End If


End With





'(4)管理画面の「変換表」タブの変換表

With userform1.ListBox4



'登録内容すべてを表示

.AddItem tgtEntry(m) & vbTab & refEntry(m)



End With





'(5)管理画面の「初期設定」タブの変換表

With userform1.ListBox5



'登録内容すべてを表示

.AddItem tgtEntry(m) & vbTab & refEntry(m)


End With





'(6)管理画面の「管理」タブの名称入力欄

With userform1.cboName


'修正対象の文字列が符号の場合(@以外の符号)

If refNum(m) = tgtEntry(m) Then

tgtLen =
Len(tgtEntry(m))

refLen = Len(refEntry(m))

tgtEntry1 = Left(refEntry(m), refLen - tgtLen)

.AddItem tgtEntry1

End If



'修正対象の文字列が@の場合

If Asc(Left(refNum(m), 1)) = -32361 Then

.AddItem tgtEntry(m)

End If



End With





'(7)ツールバーの符号表

With myCbarCtl



'修正対象の文字列が符号の場合(@以外の符号)

If refNum(m) = tgtEntry(m) Then

tgtLen = Len(tgtEntry(m))

refLen = Len(refEntry(m))

tgtEntry1 = Left(refEntry(m), refLen - tgtLen)

.AddItem refNum(m) & " " & tgtEntry1

End If



'修正対象の文字列が@の場合

If Asc(Left(refNum(m), 1)) = -32361 Then

.AddItem refNum(m) & " " & tgtEntry(m)

End If



End With





'(8)ツールバーの名称入力欄

With myCbarCtl_Nam


'修正対象の文字列が符号の場合(@以外の符号)

If refNum(m) = tgtEntry(m) Then

tgtLen = Len(tgtEntry(m))

refLen = Len(refEntry(m))

tgtEntry1 = Left(refEntry(m), refLen - tgtLen)

.AddItem tgtEntry1

End If



'修正対象の文字列が@の場合

If Asc(Left(refNum(m), 1)) = -32361 Then

.AddItem tgtEntry(m)

End If



End With





'(9)ツールバーの符号入力欄

With myCbarCtl_Num


'修正対象の文字列が符号の場合(@以外の符号)

If refNum(m) = tgtEntry(m) Then

.AddItem refNum(m)

End If



End With



Next m

'明細書用の用語がひとつも登録されていない場合
Else

userform1.ListBox1.AddItem "(登録用語はありません。)"

userform1.ListBox2.AddItem "(登録用語はありません。)"

userform1.ListBox3.AddItem "(登録用語はありません。)"

userform1.ListBox4.AddItem "(登録用語はありません。)"

userform1.ListBox5.AddItem "(登録用語はありません。)"

userform1.cboName.AddItem "(登録用語はありません。)"

myCbarCtl.AddItem "(登録用語はありません。)"

myCbarCtl_Nam.AddItem "(登録用語はありません。)"

myCbarCtl_Num.AddItem "(登録用語はありません。)"
End
If

If
userform1.OptionButton2.Value = True Then

userform1.ListBox1.Visible = True

userform1.ListBox2.Visible = False
Else

userform1.ListBox1.Visible = False

userform1.ListBox2.Visible = True
End
If

Set
myCbarCtl = Nothing
Set
myCbarCtl_Nam = Nothing
Set
myCbarCtl_Num = Nothing

End Sub
本発明に係る文字列変換方法、プログラム及びそのプログラムを記憶した記憶媒体は、特許業界において明細書を作成する特許事務に限らず、その他の法律事務、会計事務、及び所定の文書を作成する機会を有する一般企業を含み、広く社会全般に対して大きな有益性をもたらすものである。

Claims (1)

  1. 予め登録した文字列と関連付けて所望の文字列に変換する文字列変換方法であって、
    第一の文字列と第二の文字列とを関連付けて登録するステップと、
    入力手段により第一の文字列を入力して確定するステップと、
    確定する際に記憶手段に記憶している登録した前記第一の文字列及び第二の文字列を一組とした所望の文字列として変換して表示手段に出力するステップを含むことを特徴とする文字列変換方法。
JP2009110212A 2009-04-29 2009-04-29 文字列変換方法、プログラム及びそのプログラムを記憶した記憶媒体 Pending JP2010262325A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009110212A JP2010262325A (ja) 2009-04-29 2009-04-29 文字列変換方法、プログラム及びそのプログラムを記憶した記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009110212A JP2010262325A (ja) 2009-04-29 2009-04-29 文字列変換方法、プログラム及びそのプログラムを記憶した記憶媒体

Publications (1)

Publication Number Publication Date
JP2010262325A true JP2010262325A (ja) 2010-11-18

Family

ID=43360360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009110212A Pending JP2010262325A (ja) 2009-04-29 2009-04-29 文字列変換方法、プログラム及びそのプログラムを記憶した記憶媒体

Country Status (1)

Country Link
JP (1) JP2010262325A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017091024A (ja) * 2015-11-04 2017-05-25 株式会社あいほっと 入力支援装置
JP2017211993A (ja) * 2016-05-27 2017-11-30 雲拓科技有限公司 請求の範囲の中の請求の範囲構成要素名詞所属構成要素対応符号を対応検出する方法
CN111142683A (zh) * 2018-11-06 2020-05-12 Ib研究株式会社 输入辅助程序、输入辅助方法以及输入辅助装置
JP2021060901A (ja) * 2019-10-09 2021-04-15 特許業務法人Ipx 情報処理装置、プログラム、及び書類作成方法
JP2021536062A (ja) * 2018-08-29 2021-12-23 アイパクトリ インコーポレイテッドIPACTORY Inc. 特許文書作成装置、方法、コンピュータプログラム、コンピュータで読み取り可能な記録媒体、サーバー、およびシステム
CN111142683B (zh) * 2018-11-06 2024-06-11 Ib研究株式会社 输入辅助程序、输入辅助方法以及输入辅助装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017091024A (ja) * 2015-11-04 2017-05-25 株式会社あいほっと 入力支援装置
JP2017211993A (ja) * 2016-05-27 2017-11-30 雲拓科技有限公司 請求の範囲の中の請求の範囲構成要素名詞所属構成要素対応符号を対応検出する方法
JP2021536062A (ja) * 2018-08-29 2021-12-23 アイパクトリ インコーポレイテッドIPACTORY Inc. 特許文書作成装置、方法、コンピュータプログラム、コンピュータで読み取り可能な記録媒体、サーバー、およびシステム
JP2022088485A (ja) * 2018-08-29 2022-06-14 アイパクトリ インコーポレイテッド 特許文書作成装置、方法、コンピュータプログラム、コンピュータで読み取り可能な記録媒体、サーバー、およびシステム
JP2022088486A (ja) * 2018-08-29 2022-06-14 アイパクトリ インコーポレイテッド 特許文書作成装置、方法、コンピュータプログラム、コンピュータで読み取り可能な記録媒体、サーバー、およびシステム
JP7248879B2 (ja) 2018-08-29 2023-03-30 アイパクトリ インコーポレイテッド 特許文書作成装置、方法、コンピュータプログラム、コンピュータで読み取り可能な記録媒体、サーバー、およびシステム
JP7291970B2 (ja) 2018-08-29 2023-06-16 アイパクトリ インコーポレイテッド 特許文書作成装置、方法、コンピュータプログラム、コンピュータで読み取り可能な記録媒体、サーバー、およびシステム
CN111142683A (zh) * 2018-11-06 2020-05-12 Ib研究株式会社 输入辅助程序、输入辅助方法以及输入辅助装置
JP2020077113A (ja) * 2018-11-06 2020-05-21 アイビーリサーチ株式会社 入力支援プログラム、入力支援方法および入力支援装置
CN111142683B (zh) * 2018-11-06 2024-06-11 Ib研究株式会社 输入辅助程序、输入辅助方法以及输入辅助装置
JP2021060901A (ja) * 2019-10-09 2021-04-15 特許業務法人Ipx 情報処理装置、プログラム、及び書類作成方法

Similar Documents

Publication Publication Date Title
EP0686286B1 (en) Text input transliteration system
US7984076B2 (en) Document processing apparatus, document processing method, document processing program and recording medium
CN101694603B (zh) 基于Unicode的跨平台蒙古文显示及智能输入方法
US20050261891A1 (en) System and method for text segmentation and display
JP4007562B2 (ja) プログラミング補助方法および装置
US20070242071A1 (en) Character Display System
JPS62245367A (ja) 文書処理装置
JP2010262325A (ja) 文字列変換方法、プログラム及びそのプログラムを記憶した記憶媒体
WO2015052817A1 (ja) 音訳作業支援装置、音訳作業支援方法及びプログラム
WO2015162737A1 (ja) 音訳作業支援装置、音訳作業支援方法及びプログラム
JP2008146637A (ja) ドメイン変換言語
CN112199576A (zh) 一种中文拼音搜索的实现方法和系统
CN106250354A (zh) 处理文书的信息处理装置、信息处理方法以及程序
JP2008210229A (ja) 知的財産情報検索装置、知的財産情報検索方法及び知的財産情報検索プログラム
Zandbergen Transliteration of the Voynich MS text
JP2006344053A (ja) 特許明細書作成支援プログラム
JP3516700B2 (ja) 文書処理装置及び文書処理方法
JP3952009B2 (ja) 翻訳メモリシステム、翻訳方法、および翻訳メモリシステム用プログラム
JPH08190561A (ja) 文書修正装置
JP2001109740A (ja) 中国語文書作成装置及び中国語文書作成方法
JP3926906B2 (ja) N単語連鎖を用いたかな漢字変換システム,方法および記録媒体
Sébastien Basic tutorial to LATEX programming
JP2017068307A (ja) 情報検索装置及びその制御方法、情報検索用プログラム
JPH1040086A (ja) プログラム変換方法
JPH09262957A (ja) 組版方法及び装置