![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
開発環境は、VisualC++6(SP3)です。
【数値データ】を書式毎に表示結果を加工する処理について、
独自処理PGを作成しました。
(Excelセル書式の表示書式-ユーザ定義で「#,###」等の様に、
指定された書式へ変換する事)
が、不具合が多く困っております。
(独自PGということもありパターンによってはExcel通りに動かない)
これを、独自処理などではなく、例えば、
MFCのクラスとかAPIなどその他を使って、
正確にExcelの表示書式に近い加工処理を行うPGの方法について
あるいはヒントなどございましたら、ご教示くださいませ。
(変換例(1))
書式 :#,###.#
実データ: 1987.65
↓
加工後 :1,987.7 (Excelと同じ動き)
(変換例(2))
書式 :#,##0.00
実データ:-20000
↓
加工後 :-20,000.00 (Excelと同じ動き)
No.3ベストアンサー
- 回答日時:
qwertyさんの解説にあるように、VBのFormat関数の機能が使えそうですね。
そうすると、(開発中のMFCのプロジェクトにもよるのですけど)
VBで作成したActiveXDLLをVC側から利用することができるので、
VBのFormat関数の機能をエクスポートするDLLを作ってしまいましょう。
ただし私は、「時間がない自信がない」などのときに、
最後の手段としてこの手段を使います。
何故かっていうと、とてもアクが強いというか..使いづらいのです。
まあ経験なんでしょうけどね。
・ActiveXの仕様を熟知して、さらに、こちらのプロジェクトをあわせなければいけない。
・一度VCにタイプライブラリとしてインポートしてしまうと、VB側で発生した変更点をVCに反映する際に面倒くさい。
(これは、ClassWizardがオートでいろいろやってくれますので、変更反映の際は、
依存関係をすべて切り離さないといけません。)
・配布のときのライブラリ依存が複雑になるかも。(VBランタイムだけかな..?)
などなど..つまり、処理を外出しする分、外覧が増えることが最大の欠点ですね。
長所としては、VB標準のランタイムを使うので、
処理的なバグに悩むことは、ほぼなくなります。
Excel準拠で確実さ・安定性を求めるなら、お勧めします。
まあ自分で処理を書かずに楽するわけですから、我慢すれば使えます。
参考URLで使い方からサンプルまで、懇切丁寧に書いてありますよ。
参考になれば幸いです。
参考URL:http://www.geocities.co.jp/SiliconValley-SanJose …
分かりやすいご回答、ありがとうございました♪
VBのDLLで対応する案、とても参考になりました。
今後のプロジェクトにて、検討しようと思います。
(今回は、諸事情があって、現状のままの仕様となりました。ToT;)
No.2
- 回答日時:
こんにちは。
できそうな気がしますなんて、無責任なコメントでした。
平謝りでございます。
CStringのFormat()メンバ関数はprintf()ですもんね・・・。
桁区切りのカンマは入れられないですね。
すっかりVBのFormat関数と混同しておりました。
数年前にVC5.0で作ったと思っていたものは、
実はVB5.0で作成していたようです。
大反省です。
申し訳ありませんでした(汗)
ただ、専門家の方ならぼくの思いつかない方法をご存知かもしれませんので、
その方々にご登場頂けることをご一緒にお祈り申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 書式変更で困ってます。 オートフィルターの日付フィルターを用いて データの絞り込 2 2022/07/26 22:16
- Excel(エクセル) 重複データの抽出について 2 2023/07/21 14:52
- その他(Microsoft Office) wordの差し込み印刷での日付表示 2 2023/08/15 16:51
- Excel(エクセル) エクセルの数式について教えてください。 7 2023/06/18 10:16
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Excel(エクセル) エクセルについて教えてください。 1 2022/12/26 09:01
- Excel(エクセル) excelで可視セルのみ置換 3 2022/08/04 11:02
- Excel(エクセル) 至急 Excel日付表示設定教えてください Excelの日付表示ですが、他者から送られてくるExce 6 2023/02/03 11:01
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/06/23 15:02
- Excel(エクセル) Excel VBA セルの書式設定 2 2022/03/30 10:48
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どう増強すべきか
-
ExcelのVBAで、選択したファイ...
-
private subモジュールを他のモ...
-
IF文に時間(何時から何時ま...
-
VBAで時刻の記述方法
-
SQLの条件式
-
特定の名前のオートシェイプの...
-
VBA マクロ 英語版WINDOWSで全...
-
【C#/Java?】try-catchでcatch...
-
【VBA】エラー処理で別プロシー...
-
VBAの進捗状況をリアルタイ...
-
マクロで、次のコードへ行く前...
-
特定のファイルを他のプロセス...
-
ドリブン??
-
数値データを書式毎に表示結果...
-
私には複雑すぎて困っています_...
-
リロード対策について困っています
-
Visual C++でのif文
-
Excelマクロ エラー判別
-
イベントの取りこぼしについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
IF文に時間(何時から何時ま...
-
private subモジュールを他のモ...
-
vbaのエラー対応(実行時エラー...
-
マクロで、次のコードへ行く前...
-
どう増強すべきか
-
特定の名前のオートシェイプの...
-
シグナル 6(SIGABRT)とは?
-
Excel VBA セルの名前があるか...
-
ExcelのVBAで、選択したファイ...
-
どうやってもFor文を抜けてしま...
-
シェルスクリプトでファイル内...
-
ドリブン??
-
特定のファイルを他のプロセス...
-
VB6にてネットワーク上にある共...
-
【VBA】エラー処理で別プロシー...
-
Functionで戻り値を複数返す方法
-
Word VBA。各マクロの間に待ち...
-
エクセル VBAで複数セル選択時...
-
VBA 複数の行を高速で削除する...
おすすめ情報