0

特定のプロジェクトへのアプローチについて助けが必要です。我々は、大量のワークシートを備えた大きなエクセルのワークブックを持っています。数式フィールドには、多くのユーザー入力があります。これらの入力フィールドは、プル、リターン、リピートです。これはすべて最終報告書に終わる。各ワークシートは基本的に独自のモデル、ビュー、コントローラになりました。スプレッドシートをモデルとコントローラにリバースエンジニアリングする

基本的に基本データ辞書とルールエンジンを作成するために、 "モデル"と "コントローラ"を分割する方法を見つけたいと思います。 VBAで

、すべての式フィールドを検索、ブックを通して

  1. クロール:ここ

    は、私は私の戦略があるべきだと思うものです。

  2. 結果を記録します。これは、ルールエンジンのリストになります。
  3. 生成されたすべてのルールを見てください。それ自体が数式フィールドではない入力セルは、生の入力フィールドと考えられます。これらはデータ辞書を構成します。

上記の手法にはかなりの欠陥があります。式を介して生成される「デフォルト値」を持つ生データフィールドがあります。さらに、電話番号のようなフィールドを単に修正するという公式があります。これらは実際には「ルール」ではありません。

私はちょうどプロジェクトにジャンプする前に、アプリケーションを作成するために大規模なワークブックをモデルとコントローラにリバースエンジニアリングしようとすると、これまで誰かがこれをやっているのかどうか尋ねると思いました。おそらく、あなたは私が欠けている(Excelは私のドメインではない)、あるいはもっと良い戦略であるという洞察を持っているでしょうか?

+0

この質問はこのフォーラムでは広すぎます。 http://programmers.stackexchange.com/で運がよかったかもしれませんが、まずそのマニフェストを読んでいます。個人的には、目標のリストとしてプロジェクトを単純に概観し、各ファセットに最適な方法を使用します。私は先週作成したワークブックを含む改善をしていないワークブックはめったにありません。 – Jeeped

+0

右 - この質問は広すぎるかもしれません。私はそこにも投稿しようとします。私はいつもここで私の最高の答えを見つけたので、私はそれを危険にさらしました。 – ZAR

+0

他のサイトを参照しているときには、[クロスポストが嫌になっている]ことを指摘することがしばしば役に立ちます(http://meta.stackexchange.com/tags/cross-posting/info) – gnat

答えて

0

あなたが言及している欠陥は、実際には欠陥ではありません。 Excelでは、入力用にロックされていないフィールドはユーザーによって上書きされる可能性があるため、このようなフィールドの式は常にデフォルト値のみを返します。もちろん、多くのスプレッドシート設計者は、入力に対する計算結果のロックを気にせず、誰も結果を上書きしないことに頼っています。しかし、あなたが持っているものとまったく同じセマンティクスを持つアプリケーションを作成したい場合、そのような数式/ルールを上書き可能として扱わなければなりません。

入力のためにロックするフィールドを決定することは、基礎となるドメインの知識に基づいています。それは、数式の使用とは別にフィールド値を決定する別の方法があるかどうかによって異なります。

関連する問題