【发布时间】:2015-02-05 16:01:05
【问题描述】:
我知道很多讨论已经解决了这个问题,但我还没有找到解决方案。 我经常制作包含大约 100 条文本和日期字段记录的工作表,每条记录都必须转换为 2 列表并打印为 PDF 文件。
为此,我一直在使用 VBA 代码,该代码通过工作表行按顺序工作:复制/转置到单独工作表(模板)中的两列,然后使用 rng.ExportAsFixedFormat Type:=xlTypePDF 创建 PDF 文件。
几年来一直运行良好,直到最近有人注意到,有时最大的字段不会显示 Excel 单元格中的所有文本。它总是在大约 1000 - 1100 个字符后被切断。
许多讨论提到单元格显示有 1024 个限制,但我认为这仅适用于 Excel 2003 及之前的版本 - 2007 应该没问题,不是吗?无论如何,我发现总是可以手动调整 Excel 字段以显示所有文本(在原始工作表和临时 2 列 Excel 表中),有时总计超过 2000 个字符。当然,我不想定期手动调整并打印到 PDF 100 次。所以我使用了 AutoFit: Sheets("Template").Rows("1:18").Selection.EntireRow.AutoFit
不幸的是,这似乎无法复制我们已成功尝试的手动单元扩展。没有任何单元格被合并。所有内容均已包装并采用常规格式。我已经尝试在输入之前通过记事本清理文本条目并使用 Alt-F 插入空白行(如其他地方所建议的那样)。
如果 AutoFit 不起作用,我想也许我可以包含一些代码,通过获取总字数(是否有函数?)并将行高设置为大约 0.8 * 数量来为每个表设置自定义行高单词 - 基于初始计算。
有什么想法吗?
【问题讨论】:
标签: excel-2007