1

Word の差し込み印刷として、非営利団体向けの請求明細を生成したいと考えています。

現在、ソース データはピボット テーブルのような構造 (これは私の考えではありませんでした) で Excel に格納されており、顧客ごとのアイテム タイプごとに 2 つのセル (未払いと支払い済み) があります。(各顧客には 1 つの行があり、各項目タイプには 2 つの列があります)。既存のデータはこの構造になっていますが、それを自動的により良いものに変換する方法があれば、私はアイデアを受け入れます。

現在、Word マクロによって生成された Word 差し込み文書を持っています。この Word マクロは、列のすべてのペア (アイテム タイプ) に対して Word IF フィールド コードを書き込みます。(すべての顧客がすべての項目タイプを持っているわけではないため、各顧客が負っていないものを除外するために IF フィールドが必要です)。

問題は、このシステムの操作方法を知っているのは私だけであり、すべての請求書を自分で作成する時間がなくなったことです。

理想的には、独自の課金アプリを作成したいと思います (これにより、他の多くの問題も解決されます) が、そのための時間もありません。

あまり技術的でない人々が私なしですべての請求を行えるようにするシステムを (合理的に迅速に) 作成する方法はありますか?

QuickBooks を調査しましたが、既存のトランザクションをインポートできません。

4

2 に答える 2

1

これが私が考えた1つの解決策です:

Excel データを操作して、トランザクションごと (顧客ごとのアイテムごと、または現在の構造のセルのペアごと) に 1 行の非ピボット形式にします。私は実際に、トランザクションを QuickBooks にインポートしようとして失敗したときに、これを既に実行しました。

各行は請求書の 1 つの項目に変わります (各行が多くの項目を含むページ全体に変わる現在のピボットされたフォームとは対照的です)。

次に、現在の行が別の顧客の最初の行であるかどうかを確認する Word マージ ドキュメントを作成し、そうである場合は、請求書のテキスト全体 (アイテムではなく) を 2 つの (非常に大きな) IF フィールドに含めます。コード。

すべての行が請求書の項目を生成します。
各顧客の最後の行の後に、古い顧客のテキストの後半 (項目の後の部分) が続きます。
各顧客の最初の行の前には、新しい顧客のテキストの前半 (アイテムの前の部分) が続きます。
最初と最後の顧客を処理するには、2 つの IF が必要です。

接頭辞を挿入するか、接尾辞を挿入するか、またはどちらも挿入しないかを示す数式列をスプレッドシートに追加する必要があります。これは Word では不可能なためです。(次のレコードを覗くことはできません)

マージ ジェネレーターは依然として複雑な怪物ですが、変更する必要はありません。ソース データから新しい項目タイプが取得されます。(新しい項目タイプごとに新しいマクロ生成フィールド コードを必要とする現在のマージ ジェネレータとは異なります)。それでも、テキストが変更された場合に備えて、それを生成するマクロを作成するでしょう。(フィールド コード内のテキストを編集するのは非常に面倒です)。

于 2009-10-20T21:02:54.013 に答える
0

WordにもExcelにもVBAが組み込まれており、これを使えばできることは限られません。このタイプのアプリケーションは、実際には明細化された請求書を生成し、プリアンブルを追加し、明細化後に下位合計とその他を追加するデータベース (Access) から駆動する必要があります。

ただし、Excel データに固執する必要がある場合は、Excel をデータベースと考え、VBA コードを Excel に記述して請求書を作成し、Word 文書を Excel (VBA) で組み立てるか、ワークシート形式で配置します。 Word テンプレートから簡単な作業を行うだけで、すべてを取り込むことができます。

于 2009-10-20T21:12:51.777 に答える