Tag: excel

我应该如何使我的VBA代码与64位Windows兼容?

我有一个在Excel 2007中开发的VBA应用程序,它包含以下代码以允许从Shell32.dll访问ShellExecute函数: Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long 我原本说: 显然,该应用程序不会在64位版本的Windows上编译(仍然使用32位Office 2007)。 我认为这是因为Declare声明需要更新。 我读过Office 2010引入了一个新的VBA运行时(VB7),并且这个新的关键字可以在Declare语句中使用,以允许它在64位Windows上正常工作。 VB7还具有新的预定义编译器常量,以支持使用旧声明或新声明的条件编译,具体取决于应用程序是在32位还是64位Windows上运行。 但是,由于我坚持使用Office 2007,我需要一个替代解决scheme。 我有什么select? (如果可能,我真的不希望发布我的应用程序的2个独立版本)。 然而,根据David的回答,我错误地认为我的Declare声明不起作用的情况。 Office 64在Windows 64位上的唯一情况是不起作用的。 所以,Office 2007不是问题。

从控制台生成/打开CSV文件格式错误

我正在使用控制台应用程序写出一个逗号分隔的文件,并使用Process来打开文件。 将查询结果转储到excel是一种快速和肮脏的方法。 有一段时间这工作得很好,但最近我开始得到“ 你试图打开的文件'blah.csv',是在不同的格式比指定的文件扩展名 ”。 并点击“是”后 Excel已检测到blah.csv是SYLK文件,但无法加载它。 文件有错误或者它不是SYLK文件格式。 单击确定以尝试以不同的格式打开文件。 按确定打开它,并正确显示。 我看到一些解决scheme,在networking世界添加内容处置标题,但由于我使用一个进程打开它,我不能应用该修复程序。 我的代码打开文件: ProcessStartInfo info = new ProcessStartInfo(); info.FileName = filePath; info.UseShellExecute = true; Process.Start(info); 如果我在Notepad ++中打开文件并显示所有字符,它只会显示为带有CR LF行尾的常规CSV。 经过一番调查,似乎标题行触发了错误。 如果我只是在标题前写一个空行,错误就会消失。 标题看起来像这样: 标题1,标题2,标题3 CRLF

Excel:将单元格的背景颜色设置为单元格中数据的rgb值

我有一个包含rgb值的列,例如 127,187,199 67,22,94 在Excel中,有什么办法可以使用它来设置单元格的背景颜色?

Excel公式获取单元格颜色

我想知道我们是否可以通过任何内联公式的帮助找出CELL的颜色(不使用任何macros) 我正在使用家庭用户办公软件包2010。

按Esc时停止Excelmacros执行不起作用

我在XP上运行Excel 2007。 有没有办法阻止一个macros在执行过程中运行,而不是按下转义? 通常如果我认为我创build了一个无限循环或者其他的东西,那么我打了一个escape,它会抛出一个错误,但macros停止。 这一次(我已经做了,但没有这么糟糕),我build立了一个msgbox进行一些快速debugging。 原来,它必须循​​环大约6000次,这意味着我必须“确定”6000个消息框,这花了几分钟。 我没有保存之前运行(另一个错误),所以我不能打开任务pipe理器退出。 有没有另外一种方法来阻止macros的执行情况,如果我再次这样呢?

使用Pandas为同一工作簿的多个工作表指定pd.read_excel()

我有一个大的电子表格文件(.xlsx),我正在使用Pythonpandas处理。 碰巧,我需要从该大文件中的两个选项卡中获取数据。 其中一个标签有大量的数据,另一个只有几个方格。 当我在任何工作表上使用pd.read_excel()时,它看起来像整个文件被加载(不只是我感兴趣的工作表)。 所以当我使用这个方法两次(每个表单一次)时,我实际上不得不让整个工作簿被读取两次(即使我们只使用指定的表格)。 我是用错了还是仅仅用这种方式来限制? 谢谢!

在PHP中将MySQL数据导出到Excel

我试图让我的MySQL数据到Excel文件,但我有Excel单元格的问题。 我所有的文本都去了一个单元格,我想每个行的值在单独的Excel单元格。 这是我的代码: $queryexport = (" SELECT username,password,fullname FROM ecustomer_users WHERE fk_customer='".$fk_customer."' "); $row = mysql_fetch_assoc($queryexport); $result = mysql_query($queryexport); $header = ''; for ($i = 0; $i < $count; $i++){ $header .= mysql_field_name($result, $i)."\t"; } while($row = mysql_fetch_row($result)){ $line = ''; foreach($row as $value){ if(!isset($value) || $value == ""){ $value = "\t"; }else{ $value = […]

使用Excel作为Access数据库的前端(使用VBA)

我正在为朋友构build一个小应用程序,他们希望能够使用Excel作为前端。 (UI基本上是Excel中的用户表单)。 他们有一堆Excel中的数据,他们希望能够查询,但我不想用Excel作为数据库,因为我不认为它适合于这个目的,并且正在考虑使用Access。 [顺便说一句,我知道Access有它的缺点,但在朋友的PC上已经有可用的零预算和Access] 总之,我正在考虑将一堆数据转储到Access中,然后使用Excel作为前端查询数据库并在用户窗体样式环境中显示结果。 问题: 使用ADO / DAO从Excel中链接到Access是多么容易? 在function方面是相当有限的,还是我可以创造性? 我是否支付性能损失(使用Access中的表单作为UI)? 假设数据库将始终使用Excel VBA中的ADO / DAO命令进行更新,这是否意味着我可以让多个Excel用户使用该单个Access数据库,而不会遇到任何并发问题等。 还有什么我应该知道的? 我有强大的Excel VBA技能,并认为我可以很快克服Access VBA,但从来没有真正完成Excel / Access链接。 我可以将数据放到Excel中,并用作准数据库,但这似乎比它更值得痛苦(而不是一个强有力的长期解决scheme) 任何意见赞赏。 亚历克斯

为什么我的交叉表在Excel中被截断?

我正在尝试使用BIRT创build一个Excel电子表格。 电子表格是将两个对象映射在一起的交叉表。 根据MySQL数据库中的值,行数和列数是dynamic的。 目前我有一个PDF输出报告的工作实施。 现在,我正在尝试为Excel创build第二个报告版本。 我已经复制了报表devise,并开始调整它与Excel一起工作。 一切看起来不错,但只有前3列显示在标题后面。 所有行都显示正确。 我已经尝试了以下内容: 我试着将页面上的每个元素都设置为“可见”。 这没有效果。 我试图设置母版页的高度和宽度,以可笑的大值。 所有的信息显示正确,但我希望没有硬编码值的解决scheme。 将来数据宽度可能会超过我的任意值并被中断。 我受到以下方面的限制: 我无法切换报告引擎(我必须使用BIRT)。 我无法切换Excel发射器。 此博客条目提到我的问题: http : //www.spudsoft.co.uk/2011/10/the-spudsoft-birt-excel-emitters/但它不提供除发射器开关以外的解决scheme。 具体的引用是“这些文件也有页面布局的问题,我无法解决(特别是广泛的报告将被切断)”。 除了一个博客条目,我的googlefu已经让我失望了。 任何帮助表示赞赏! 谢谢!

如何创build显示多个事件的时间表图表? 例如。 Metallica乐队成员wiki上的时间线

如何创build显示多个事件的时间表图表? 例如。 Metallica乐队成员维基上的时间表? 它显示了多个乐队成员及其持续时间。 要使用的技术:主要是Microsoft Office。 任何奇特的技术所在的学习曲线不是太多,做这个东西,应该也没事的?