Skip to main content
Participant
February 6, 2017
질문

字取りに関する挙動

  • February 6, 2017
  • 2 답변들
  • 2114 조회

初めまして。

字取りに関して不具合なのか仕様なのか判断に迷っている事例が起きてます。

字取りに関する挙動なのですが、

1)文字スタイルで字取りを設定する

2)データ結合の際に、字取りを設定したフィールド

どちらも、実行した後、オーバーテキスト検索している旨のメッセージのまま帰ってきません。

字取りの設定がない場合は、さほど時間もかからずに終了しますが、字取りの設定をしただけで、帰ってくる気配がなくなります。

ご存じの方がいらっしゃったら、教えていただけますと、とてもうれしいです。

もちろん、回避方法がわかる分にはありがたいです。

何卒よろしくお願いいたします。

自宅でwin10(64bit)-indCC2017

仕事場でwin7(32bit) -indCC2017

    이 주제는 답변이 닫혔습니다.

    2 답변

    Hi-sato작성자
    Participant
    February 14, 2017

    ご返信、ありがとうございます。

    正規表現スタイルは頭をちらっとよぎったのですが、知識が未熟のため、どう使えばいいのかわからずにスルーしてました。

    逆に、①②は、流し込み用のデータを作る過程でエクセル上で改行位置に”★”を入れて、データ統合を行った後で、“★”をソフト改行に置き換えています。

    お手間じゃなかったら、後学のために教えていただけますととてもうれしいです。

    桁数のことですが、現状の出てきている要望が「プロポーショナルだと、1が見づらいしかっこ悪いので揃えて」というものなので、番号系を頭とお尻を揃えるというよりも、等幅で表現した状態というのが希望なんだと解釈しています。

    等幅表現ができるフォントなら多分、簡単だったんだと思うのですが…採用されているフォントが対応していないことがすべての面倒の始まりという感じです。

    与太話が過ぎました。すみません。

    ですので、11桁に揃えるというのというよりは、等幅表現にするという感じです。

    お忙しい中、お手間を取らせてすみません。

    よろしかったら、アドバイスくださるとありがたいです。

    よろしくお願いします。

    Participant
    February 14, 2017

    ★を置換、というフローはそのままで良いと思います。検索式をクエリに登録すれば尚良しですね。

    数字の処理について、3パターン想定しました。行いたい処理に近いものを参考にしてください。

    ①単に数字だけ数字専用の文字スタイルを掛けられればいい場合(合成フォントのような使い方)

    ②10桁の時と11桁の時で掛ける文字スタイルを変えたい場合(10桁用、11桁用のように)

    ③数字ごとに専用の文字スタイルを変えたい場合(1用、2用、3用…のように)

     任意の数字(たとえば1だけ)を変えたい場合も③の方法でOKです

    ①の設定法

     1. 数字専用の文字スタイルを作成する

     2. 対象文字列にかけた段落スタイルの編集ダイアログを表示

     3. 「正規表現スタイル」内の「新規正規表現スタイル」をクリック

     4. 「テキスト」に \d と打ち、「スタイルを適用」に1.の文字スタイルを選ぶ

    ②の設定法

     1. 10桁用の文字スタイルと、11桁用の文字スタイルを作成する

     2. 対象文字列にかけた段落スタイルの編集ダイアログを表示

     3. 「正規表現スタイル」内の「新規正規表現スタイル」をクリック

     4. 「テキスト」に \d{10} と打ち、「スタイルを適用」に10桁用の文字スタイル

     5. 「テキスト」に \d{11} と打ち、「スタイルを適用」に11桁用の文字スタイル

     6.  ただし区切り文字(仮に半角ハイフン)が入る場合は、4.5.は無視して「テキスト」に以下のように記述(並び順も下記のとおりに)

       (10桁用)\d{2}\-\d{4}\-\d{4}

       (10桁用)\d{3}\-\d{3}\-\d{4}

       (10桁用)\d{4}\-\d{2}\-\d{4}

       (11桁用)\d{3}\-\d{4}\-\d{4}

    ③の設定方法

     1. 数字ごとに文字スタイルを作成する(1は広く、2は狭く、のように)

     2. 対象文字列にかけた段落スタイルの編集ダイアログを表示

     3.  「正規表現スタイル」内の「新規正規表現スタイル」をクリック

     4. 「テキスト」に対象の数字、「スタイルを適用」に対象の文字スタイル

    といった感じでどうでしょうか。ちなみに\はWindows版では¥を入力してください。

    Hi-sato작성자
    Participant
    February 20, 2017

    時間がなかなかとれず、返信に間が開いてしましました。

    まだ、思うように時間がとれないので、少し試してみただけですが、「1」を前後八分空きに設定した正規表現スタイルを作ることで要望にかないそうだと考えています。

    ほかの部分でも、応用が利きそうな感想を持っています。

    データ統合時にも、さほどストレスにならないようですし、とても素敵な方法を伝授いただいたと思っております。

    本当に感謝いたします。

    ありがとうございます。

    まだ、本番で試していないのでまだ解決と言い切れる状態ではないですが、かなり楽観視することができています。

    本当に、ありがとうございました。

    Participant
    February 7, 2017

    データ結合の処理量が分からないので断定はできませんが、字取りしたあとのフレーム幅が充分でないので、字取りテキストが入ったすべてのフレームでオーバーセットが発生し、その検出に時間が掛かっているのではないでしょうか。原因は推理しかできませんが、字取りの字数かフレーム幅を調整すれば回避できそうです。

    なんらかの事情でそれらの調整ができない場合は、文字スタイルの字取りを設定せずデータ結合して、結合後に文字スタイルを編集して字取りを設定すれば、オーバーセット自体は発生する可能性が大ですが、フリーズ状態を引き起こす検出の過程はスキップできると思います。

    この方法を採る場合、結合ドキュメントが大量に生成される作りの場合は、複数ドキュメントの文字スタイルの設定をし直すスクリプトがないと辛いかもしれませんね。

    文字スタイルに+が付いてもいいなら、すべてのドキュメントを対象に文字スタイルを検索して字取りを設定すれば、スクリプトなしでも似たようなことは可能ですが。

    Hi-sato작성자
    Participant
    February 9, 2017

    yukiyoshi887 さん、返信いただきましてありがとうございます。

    時間がなかなかとれず、確認するのが遅くなりました。

    データ結合の量は1レコードあたり180あります。

    流し込むフィールドはオーバーテキストは発生しない設定に調整(カーニング等)してあります。

    ※字取りを設定する前のものはテストを繰り返しオーバーテキストエラーは発生していません。

    字取りを設定してあるフィールドはあふれることがほぼ無い大きさになっています。

    まだ、試作段階で5レコード分しかテストをしていませんが、字取りを設定する前は、ものの数秒でデータ結合が完了しますが、字取りを設定しただけで、6時間経過しても終わる気配がありません。

    win10のタスクマネージャー上では「応答なし」と表示されていますし、キャンセルをクリックしても反応が得られないので、フリーズしているのではないかと疑念を持っている次第です。

    文字スタイルを変更した場合も同様の反応となっています。

    Participant
    February 9, 2017

    返信ありがとうございます。

    データ結合後であっても字取りの設定を加えるとその状態になるのですね。ドキュメント内に問題があるのでしょうか…

    それでは字取りを使わない作りにしてはいかがですか? 右左のインデント幅を調整し、両端揃えにすれば、字取りした状態と同じ見た目にすることはできますが。