終了

コンディショナンタグが適用されているテキストが知りたい

New Here ,
Dec 15, 2004 Dec 15, 2004

リンクをクリップボードにコピー

コピー完了

突然ですが、質問があります。

ある文書内で、適用されているコンディションタグを全て知りたいのです。
定義されているものではなく、使われているもので、適用されているテキストも知りたいです。

どなたかお力をお貸しください。
お願いします。

表示

1.1K

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Dec 15, 2004 Dec 15, 2004

リンクをクリップボードにコピー

コピー完了

rocket21様。

使用されているコンディションタグ、であれば、
索引作成でコンディションタグを選択して実行すれば一覧ができます。
(ページ番号は邪魔かもしれませんが…)
目次作成でも同じですが、同じコンディションタグでも適用されている文字列分リストされちゃうので、索引の方が良いでしょう。

適用されているテキストも、って事になると。
FDK使って、文字列取得(FTI_StringとFTI_CharPropsChange)して、
どこかに情報を書き出していけば良いかなと思います。

他には…。
MIFで保存して、"InCondition"をgrepして、
その後ろにある文字列、というふうに探していくか?

あまり参考にならないですね...。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Dec 16, 2004 Dec 16, 2004

リンクをクリップボードにコピー

コピー完了

さっそくの回答、ありがとうございました。<br /><br />>>FDK使って、文字列取得(FTI_StringとFTI_CharPropsChange)して、<br /><br />>>どこかに情報を書き出していけば良いかなと思います。<br /><br />について知りたいです。具体的にどういった手順を踏めばよろしいでしょうか?<br /><br />F_TextItemsT txtitms<br /><br />txtitms = F_ApiGetText(doc, pgf, FTI_String|FTI_CharPropsChange);<br />for(i=0;i<txtitms.len;i++)<br />{<br /> if(txtitms.val.u.idata & FTF_CONDITIONTAG)<br /> {<br /> ここがコンディションタグのテキスト<br /> txtitms.val.u.sdata<br /> }<br />}<br /><br />こういった感じですかね?

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Dec 16, 2004 Dec 16, 2004

リンクをクリップボードにコピー

コピー完了

rocket21様。<br /><br />実際にデバッグしてデータを確認したわけじゃないので…やってみなきゃ分かりませんが。<br /><br />コンディションタグが適用されている文字列のMIFを確認すると、<br />  <Conditional <br />   <InCondition `コメント'><br />   > # end of Conditional<br />  <String `テキスト'><br />  <Unconditional><br />となっているので、<br />FTI_CharPropsChangeが<Conditional>と<Unconditional>で発生し、<br />その間のFTI_Stringが適用されている文字列、って感じにGetTextできるのかなと思います。<br /><br />GetTextの結果の予測として、<br /> FTI_CharPropsChange ← idataにFTF_CONDITIONTAG、sdataに"コメント"<br /> FTI_String ← "テキスト"<br /> FTI_CharPropsChange ← idata、sdata共に空?<br />または、<br /> FTI_CharPropsChange ← idataにFTF_CONDITIONTAG、sdataが空?<br /><br />という感じでしょうか?

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Dec 16, 2004 Dec 16, 2004

リンクをクリップボードにコピー

コピー完了

自己レス、です。

 FTI_CharPropsChange ← idataにFTF_CONDITIONTAG、sdataに"コメント"
 FTI_String ← "テキスト"
 FTI_CharPropsChange ← idata、sdata共に空?

↑unionで切ってるんだから…こんな訳ないんですよ(汗)。

で、
 FTI_CharPropsChange ← idataにFTF_CONDITIONTAG
 FTI_CharPropsChange ← sdataに"コメント"?
 FTI_String ← "テキスト"
 FTI_CharPropsChange ← idata空?

かと思ってデバッグしてみました。

なんか、結果が違います。
 がなくて、
 FTI_CharPropsChange ← idataにFTF_CONDITIONTAG
なんです。

コンディションタグ名、どうやって引っ張ってこれるんだろう?

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Dec 17, 2004 Dec 17, 2004

リンクをクリップボードにコピー

コピー完了

出来ました。
色々調べてくださってありがとうございます。

F_TextItemsT txtitms=
    F_ApiGetText(docId, pgfId, FTI_String|FTI_CharPropsChange);
”txtitms ”に
   FTI_CharPropsChange ← idataにFTF_CONDITIONTAG
   FTI_String ← "テキスト"
   FTI_CharPropsChange ← idataにFTF_CONDITIONTAG
 が得られる。
F_TextRangeT tr;
 tr.objId =pgfId;
 tr.offset = 最初の"FTI_CharPropsChange"のoffset;

 F_PropValT prop =
    F_ApiSetTextPropVal(docId, &tr, &prop);

 で"prop.propVal.u.isval"にコンディションタグのフォーマットIDが格納されている領域のアドレスが得られました。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Dec 17, 2004 Dec 17, 2004

リンクをクリップボードにコピー

コピー完了

最新
rocket21様。

なるほど。
テキストプロパティにFO_CondFmtのidが格納されていましたか。
自分も勉強になりました。ありがとうございます。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines