Skip navigation
Currently Being Moderated

データ結合の空のフィールドについて

Nov 1, 2009 2:51 AM

InDesign CS3でデータ結合を使用して表組の中にデータを流し込んだ時、

CSV側の空のフィールドはそのままブランクとして流し込む様に設定した時に

 

以下のスクリプト(セルの中のcontents数を調べるスクリプト)でセルの中をしらべていると

流し込んだ表のブランクになっているセルの中に

contentsがある事が確認されました。

 

本来なら、contents数 = 0となるはずと考えているのですが

contents数 = 2となってしまいます。

 

この後の作業として

ブランクになっている表組の行を全て取り除く

スクリプトを作成するつもりなのですが、

 

条件付でcontents数が= 0の行を

全て取り除くつもりでしたが、

以上のような現象があるため

見た目がブランクのセルでもcontentsが0ではないので

作業がすすみません。

 

何が含まれているのかさえわかれば

それをもとに条件付けをしようとおもうのですが

alert(contObj)で確認しても

何も表示されないので何が含まれているのか確認する手法

がわかりません。

どなたか、わかるかたがおりましたら

ご教授いただきたいとおもいます。

 

 

 

var doc = app.activeDocument

var pageObj = doc.pages

for (i=0; i<pageObj.length; i++){

var txtObj = pageObj[i].textFrames

for(e = 0 ; e < txtObj.length ; e++){

var tableObj = txtObj[e].tables

for (x=0;x<tableObj.length;x++){

var tableXObj = tableObj[x].rows

for(d = 0 ; d < tableXObj.length ; d++){

var cellObj  = tableXObj[d].contents[0]

var contObj = tableXObj[d].contents[1]

if (cellObj == "商品番号" || cellObj == "色番号" || cellObj == "サイズ番号"){

alert("コンテンツ数 = "+contObj.length)

alert(contObj)

}

}

}

}

}

 
Replies
  • Currently Being Moderated
    Nov 1, 2009 5:59 PM   in reply to K太郎

    該当するセルで

     

    sel=app.selection[0];
    for(i=0; i<sel.contents.length; i++){
    alert(sel.contents.charCodeAt(i).toString(16));
    }

     

    で確認してみてはどうでしょう

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points