Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据自定义DPI,excel中的打印到PDF格式不同_Excel_Pdf_Printing_Dpi - Fatal编程技术网

根据自定义DPI,excel中的打印到PDF格式不同

根据自定义DPI,excel中的打印到PDF格式不同,excel,pdf,printing,dpi,Excel,Pdf,Printing,Dpi,今天早上我被叫去开发一个我不久前在Excel中构建的工具。该工具生成一份报告,然后将其打印为pdf格式。他们打电话给我的问题是,对于一个用户来说,PDF中的行距是关闭的。我花了一段时间才找出问题的原因。是新闻部。无法看到字体的用户已将Windows的字体增加到150%,并且由于某种原因导致excel以不同方式导出为pdf 我知道问题是什么,但要求用户更改DPI(强制用户注销)、重新登录、打开excel并运行我的宏,最后更改DPI并不是一个合理的解决方案。我希望有一位大师能够帮助我找到解决方案。我

今天早上我被叫去开发一个我不久前在Excel中构建的工具。该工具生成一份报告,然后将其打印为pdf格式。他们打电话给我的问题是,对于一个用户来说,PDF中的行距是关闭的。我花了一段时间才找出问题的原因。是新闻部。无法看到字体的用户已将Windows的字体增加到150%,并且由于某种原因导致excel以不同方式导出为pdf

我知道问题是什么,但要求用户更改DPI(强制用户注销)、重新登录、打开excel并运行我的宏,最后更改DPI并不是一个合理的解决方案。我希望有一位大师能够帮助我找到解决方案。我不介意在程序运行时添加VBA代码来临时更改DPI,但我不知道如何做,或者如果可能的话

谢谢


关于Windows7的更多说明,我所说的方面是,如果你想更改分辨率,会有一个链接询问你是否想“使文本和其他项目变大或变小”。滑块已从默认的100%更改为150%。

我想不出一个简单的方法来克服这个问题。你可以尝试创建一个OLE应用程序(例如C语言,VB.NET或C++),它使用Excel内部打开文件并将其导出到PDF。然后,您可以在系统上创建一个新用户,并使用命令从批处理文件创建此应用程序。 再次回到Excel,您可以使用命令创建批处理文件。
工作流程将是:

1-使用VBA和Shell函数,以当前文件为参数从Excel调用批处理文件。
2-批处理文件使用runas调用自定义应用程序MyAppExportToPDF,并将当前Excel文件作为参数传递。
3-MyAppExportToPDF使用OLE打开Excel的新实例,加载文件并将其导出为PDF。

由于MyAppExportToPDF将在不同的用户中运行,因此新的Excel实例也应在该用户下运行。此用户下的DPI设置应该是您需要的设置


免责声明:这只是一个未经测试的想法

我想不出一个简单的方法来克服这个问题。你可以尝试创建一个OLE应用程序(例如C语言,VB.NET或C++),它使用Excel内部打开文件并将其导出到PDF。然后,您可以在系统上创建一个新用户,并使用命令从批处理文件创建此应用程序。 再次回到Excel,您可以使用命令创建批处理文件。
工作流程将是:

1-使用VBA和Shell函数,以当前文件为参数从Excel调用批处理文件。
2-批处理文件使用runas调用自定义应用程序MyAppExportToPDF,并将当前Excel文件作为参数传递。
3-MyAppExportToPDF使用OLE打开Excel的新实例,加载文件并将其导出为PDF。

由于MyAppExportToPDF将在不同的用户中运行,因此新的Excel实例也应在该用户下运行。此用户下的DPI设置应该是您需要的设置


免责声明:这只是一个未经测试的想法

从我看到的情况来看,您的方法可以工作,但我无法实现,因为我的用户不希望excel文件之外的任何内容(文件在多个用户之间来回发送,他们不希望发送多个文件)。我试图说服他们,但似乎要么我在excel中修复它,要么它必须是一个可接受的错误。从我所看到的情况来看,您的方法可以工作,但我无法实现它,因为我的用户不想要excel文件之外的任何内容(该文件在多个用户之间来回发送,他们不想发送多个文件)。我试图说服他们不这样做,但似乎要么我在excel中修复它,要么它必须是一个公认的错误。