- PR -

Crystal Reportで使用しているクロス集計のフォントを変更するには?

1
投稿者投稿内容
ケイ
大ベテラン
会議室デビュー日: 2004/04/20
投稿数: 100
投稿日時: 2006-04-10 20:47
お世話になります。

現在Vb6.0+Crystal Report9.2で開発を行っています。

Vbからレポートで使用しているクロス集計のフィールドのフォントを
変更したいのですが、どのような方法がありますでしょうか?

似たような内容で、「Crystal Reportのフォントを変更するには?」で質問をしたのですが、その時は

http://japan.crystaldecisions.com/support/crystalreports9/faq_dev.asp
上記で
Q:「 レポートに挿入しているテキスト フィールドの内容を
VB コードから変更する方法。 」というのがありました。

これを利用して、レポート内で使用しているフィールドと、テキストボックス等は
変更する事は出来たのですが、

クロス集計で使用されているフィールドだと、フォントの変更がされないようでした。
クロス集計で使用しているフィールドは、プログラムから変更できないのでしょうか?




じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-04-11 02:06
引用:

ケイさんの書き込み (2006-04-10 20:47) より:

クロス集計で使用されているフィールドだと、フォントの変更がされないようでした。
クロス集計で使用しているフィールドは、プログラムから変更できないのでしょうか?


フィールドには FontName メンバはあるんですよね?
それで変化しないのであれば、無理でしょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ケイ
大ベテラン
会議室デビュー日: 2004/04/20
投稿数: 100
投稿日時: 2006-04-11 11:58
引用:

じゃんぬねっとさんの書き込み (2006-04-11 02:06) より:

フィールドには FontName メンバはあるんですよね?
それで変化しないのであれば、無理でしょう。



FontNameメンバ・・・・クロス集計の名称は取得できますが、
クロス集計で使用されている項目の名称を取得できていません。

なので、もしかしたら変更している場所が間違っているのかもしれません。

テキストボックスの場合は、下記のようにフォントを変更しました。

Dim m_Report As CRAXDRT.Report
Dim cr9Field As CRAXDRT.FieldObject

if m_Report.Sections.Item(l).ReportObjects.Item(l2).Kind = crTextObject then
 Set cr9TextField = m_Report.Sections.Item(l).ReportObjects.Item(l2)
 cr9TextField.Font.Name = "フォント名"
end if

クロス集計の場合、下記のようにしたのですが・・・


Dim cr9cro As CRAXDRT.CrossTabObject

if m_Report.Sections.Item(l).ReportObjects.Item(l2).Kind = crCrossTabObject then
 Set cr9cro = m_Report.Sections.Item(l).ReportObjects.Item(l2)
  For l3= 1 To cr9cro.Parent.ReportObjects.Count
   If cr9cro.Parent.ReportObjects.Item(l3).Kind = crTextObject Then
    cr9cro.Parent.ReportObjects.Item(l3).Font.Name = "フォント名"
   ElseIf cr9cro.Parent.ReportObjects.Item(l3).Kind = crFieldObject Then
    cr9cro.Parent.ReportObjects.Item(l3).Font.Name = "フォント名"
   End If
  Next l3
end if

cr9cro.Parent.ReportObjects.Item(l3).Nameで、クロス集計で使用している項目名を
取得できていないので、場所が間違っているような気がするのですが、
どこのプロパティが正しい場所なのかが、見つけられずにいます。

もし、お分かりの方がいましたら、プロパティの場所を
教えていただけないでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)