1

我想为非营利组织生成分项账单作为 Word 邮件合并。

现在,源数据以类似于数据透视表的结构(这不是我的想法)存储在 Excel 中,每个客户的每种项目类型有两个单元格(欠款和付费)。(每个客户有一行,每个项目类型有两列)。现有数据采用这种结构,但如果有办法自动将其转换为更好的数据,我愿意接受。

我目前有一个由 Word 宏生成的 Word 邮件合并文档,它为每对列(项目类型)编写一个 Word IF 域代码。(并非所有客户都有所有项目类型,所以我需要 IF 字段来排除每个客户不欠的那些)。

问题是只有我知道如何操作这个系统,我不再有时间自己生成所有的账单。

理想情况下,我会编写自己的计费应用程序(这也可以解决许多其他问题),但我也没有时间。

有没有办法(相当快)建立一个系统,让技术水平较低的人在没有我的情况下完成所有的计费?

我们研究了 QuickBooks,但它无法导入现有交易。

4

2 回答 2

1

这是我想到的一种解决方案:

将 Excel 数据处理为非透视表,每笔交易一行(每个客户的每个项目,或当前结构中的每对单元格)。实际上,我已经在尝试将交易导入 QuickBooks 时失败了。

每一行都会变成账单中的一个项目(与当前的旋转表格相反,其中每一行变成一个包含许多项目的整个页面)

然后,制作一个 Word 合并文档,检查当前行是否是不同客户的第一行,如果是,则将账单的整个文本(而不是项目)包含在两个(非常大)IF 字段中代码。

所有行都会在账单中生成一个项目。
每个客户的最后一行将跟随旧客户文本的后半部分(项目之后的部分)。
每个客户的第一行将在其前面加上新客户文本的前半部分(项目之前的部分)。
处理第一个和最后一个客户需要两个 IF。

我必须在电子表格中添加一个公式列,告诉我是否插入前缀、后缀或都不插入,因为这在 Word 中是不可能的。(你不能偷看下一条记录)

合并生成器仍然是一个复杂的怪物,但它永远不需要改变;将从源数据中获取新的项目类型。(与当前的合并生成器不同,它需要为每个新项目类型生成一个新的宏生成域代码)。即便如此,我可能会制作一个宏来生成它,以防文本发生变化。(在域代码中编辑文本非常烦人)。

于 2009-10-20T21:02:54.013 回答
0

Word 和 Excel 都内置了 VBA,如果您使用它们,那么您的功能将不受限制。这种类型的应用程序确实应该从数据库(Access)驱动,该数据库将生成分项账单,添加序言,以及在分项之后的底部总计和杂项。

但是,如果您需要坚持使用 Excel 数据,则将 Excel 视为数据库,在 Excel 中编写 VBA 代码以生成账单,然后在 Excel (VBA) 中组装 Word 文档或将其放入工作表格式只需要从 Word 模板中进行一些琐碎的工作即可将其全部导入。

于 2009-10-20T21:12:51.777 回答