- PR -

クリスタルレポートの用紙種類の列挙体の取得

投稿者投稿内容
不破出雲
常連さん
会議室デビュー日: 2006/05/18
投稿数: 31
お住まい・勤務地: 兵庫県豊岡市
投稿日時: 2008-12-08 20:18
Dim pp(100) As String
pp = CrystalReport1.PrintOptions.PaperSize.GetNames(enumtype)


クリスタルレポートで、レポートドキュメントの用紙サイズの一覧を取得したいの
ですが書き方が分からないので教えてください。
enumtype の箇所が何を書いていいのかが分かりません。
格納先のppも合っているのか分かりません。
まことに、初心者でよくわからないのですが申し訳ありません


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

不破出雲さんの書き込み (2008-12-08 20:18) より:

クリスタルレポートで、レポートドキュメントの用紙サイズの一覧を取得したいの
ですが書き方が分からないので教えてください。
enumtype の箇所が何を書いていいのかが分かりません。
格納先のppも合っているのか分かりません。
まことに、初心者でよくわからないのですが申し訳ありません


CrystalReports かどうかは関係なく、列挙体のメンバ一覧を取得したいだけですね。 GetNames メソッドが System.Enum クラスのメンバだと理解できていないから躓いているだけのような気がします。

System.Enum.GetNames メソッド
http://msdn.microsoft.com/ja-jp/library/system.enum.getnames(VS.80).aspx

戻り値も使い方もこれ (リファレンス) でわかるのではないでしょうか。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
不破出雲
常連さん
会議室デビュー日: 2006/05/18
投稿数: 31
お住まい・勤務地: 兵庫県豊岡市
投稿日時: 2008-12-08 21:30
じゃんぬねっと様

さっそくの回答ありがとうございます。

リファレンスを見てなんとなくは、分かりました。
ですが、実際に見たい用紙サイズの一覧のを取得で
きておりません。

クリスタルレポートのPaperSizeが持っている規定の
用意サイズのではない用紙サイズを使って印刷したい
ので、一覧を取得して一個づつ調べたいというのが
本スレの経緯の発端です。

リファレンスのサンプルコードは使用して、動いたの
ですが実際のPaperSizeの値はどのようにして取得すれば
良いのでしょうか?

お手数ですが、教えていただけますようお願いいたします
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-12-09 10:20
引用:

不破出雲さんの書き込み (2008-12-08 21:30) より:

リファレンスを見てなんとなくは、分かりました。
ですが、実際に見たい用紙サイズの一覧のを取得できておりません。


どういう発想で System.Enum.GetNames メソッドで "用紙サイズ" 自体が取得できると考えているのかが正直わかりませんが... 列挙体自体にはそのような情報 (属性) は持っていないようです。 オブジェクト ブラウザを見ればメンバの Summary/Remarks くらいは見れるかもしれません。 というより、そういった情報こそリファレンスを見た方が早いでしょう。

引用:

クリスタルレポートのPaperSizeが持っている規定の用意サイズのではない用紙サイズを使って印刷したいので、一覧を取得して一個づつ調べたいというのが本スレの経緯の発端です。


既定の用紙サイズを利用しないのであれば、PaperSize 列挙体のメンバによって実際に使われる用紙サイズを調べてもまったく無意味だと思いますが...?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
不破出雲
常連さん
会議室デビュー日: 2006/05/18
投稿数: 31
お住まい・勤務地: 兵庫県豊岡市
投稿日時: 2008-12-09 13:02
じゃんぬねっと様 ありがとうございます。

どうやら、思い違いをしていたようです。

こちらを呼んで、早とちりしてPaperSizeを取得しなければ思い込んでしまいました
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=29223&forum=7

ユーザ定義の用紙での印刷を行う事が目的なのですでこの処理が必要なようです

「DeviceCapabilities」(API関数)にて取得した用紙番号(呼び方が正しいか不明です)
をセット。

ですが、今度はAPI関数を使った「DeviceCapabilities」の取得方法が分からない状態
という問題に当たってしまいました。情けない限りです・・・。

調べてみますが、ご存知でしたら お教えいただけますようお願いいたします
nakaP
大ベテラン
会議室デビュー日: 2005/09/27
投稿数: 138
お住まい・勤務地: 高知
投稿日時: 2008-12-09 13:55
VB6のコードですが、参考になるかと思います。

http://www.geocities.jp/shaku_tyo/tip/050609.htm
不破出雲
常連さん
会議室デビュー日: 2006/05/18
投稿数: 31
お住まい・勤務地: 兵庫県豊岡市
投稿日時: 2008-12-09 15:01
すいません がんばってみていますが、分かりそうにありません。

おばかな自分では動かせないので、動作を確認して理解することが出来ません。
セラフ
ベテラン
会議室デビュー日: 2005/12/01
投稿数: 95
お住まい・勤務地: 東北の顔の形といえば
投稿日時: 2008-12-09 16:23
不破様。申し訳ありませんが、非常に「イラっ」と来ます。

「VB6のコードが読めません」っていうならまだしも、「おばかな自分では動かせないので」っというのはどうかと思います。回答しているかたに非常に失礼です。

「おばかでわからない」のなら諦めてしまってはどうでしょうか?

検索するとほぼ回答となるものが大量に出てくるのは、私のPCの異常でしょうか?
http://www.google.co.jp/search?num=100&hl=ja&newwindow=1&safe=off&q=VB%E3%80%80.NET%E3%80%80DeviceCapabilities&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja

せっかく皆さん回答してくれているのだから、投げやりにならずに、もう少しがんばってみてください。最初はみんな初心者なのですから・・・

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