哪里是一个可靠的registry项来查找Excel 2007的安装位置?
我在C#中看到了这一行,并且正在尝试使其适应VBA: Microsoft.Win32.Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR", "Start", 4,Microsoft.Win32.RegistryValueKind.DWord); 我在这里输了一些错误: 运行时间:5 – 无效的过程调用) 当我使用默认的i_Typestring“REG_SZ”,而不是“开始”,那么我得到一个regkey相关的错误: 运行时 – -2147024891 [80070005]无效的根 我的代码: Dim i_RegKey As String, i_Value As String, i_Type As String Dim myWS As Object i_Type = "REG_SZ" ' Optional 'access Windows scripting Set myWS = CreateObject("WScript.Shell") 'write registry key i_RegKey = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Start" i_Value = "4" i_Type = "REG_DWORD" myWS.RegWrite i_RegKey, i_Value, […]
我正在使用Excel 2010或Excel 2007导入带有date/时间信息的CSV文件。 我的CSV文件中的时间戳有以下格式:yyyy-mm-dd hh:mm:ss。 (例如:2015-07-17 12:34:56) 我的问题是,Excel似乎自动检测该字段是一个date/时间,它是删除第二个。 因此它显示我的数据为:“2015-07-17 12:34”没有第二个。 然后,当我再次保存我的文件在CSV第二个被丢弃,不存在于CSV了! 我发现将所有文件的自定义单元格格式从“yyyy-mm-dd hh:mm”更改为“yyyy-mm-dd hh:mm:ss”非常耗时。 有没有办法在Excel设置或Windowsregistry中更改默认date/时间格式? 当我打开并保存其中包含数据/时间信息的CSV文件时,什么是强制Excel保持第二的最佳(正确)方法。 谢谢,ssinfod
我一直在做一个有很多VBA代码的Excel工作簿,现在我已经把这个文件发给了一些同事进行testing,而且在他们的计算机上不起作用。 我们都在同一家公司工作,并且拥有带有Office 2003的Windows XP SP2。 工作簿具有一个窗体,当点击一个形状时会打开它,并且它包含一些控件。 当他们点击窗体的形状时,显示以下错误: “对象库无效或包含对无法find的对象定义的引用” 在表单中有一个DatePicker,我认为存在这个问题。 如果我从表单中删除datePicker并再次发送文件,他们不会得到这个错误信息。 我已经尝试删除这两个网站“ 微软 ”和“ lessanvaezi ”中提到的mscomct2.exd文件,但错误stilpopup。 我检查并生成新的.exd文件。 一些附加信息: 我检查他们的系统,他们有正确的位置(c:\ Winxp \ System32)文件mscomct2.ocx。 如果我打开一个空的Excel文件,进入VBA编辑器去工具 – >参考,我没有看到选项注册“Microsoft公共控制-2 6.0(SP6)”(mscomct2.ocx)。 而是我看到一个“Microsoft Windows公共控制Satellite-3 6.2)”(cmct3de.dll)。 我用datePicker发送同事文件,但没有提及“Microsoft Common Control-2 6.0(SP6)”。 在单击形状并打开表单之前,我尝试用下面的代码dinamically引用MSCOMCT2.ocx库。 它引用了“Microsoft Common Control-2 6.0(SP6)”,但仍然popup错误。 Sub RegisterCtl() 'MSComCt2.ocx strGUID = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}" ThisWorkbook.VBProject.References.AddFromGuid guid:=strGUID, Major:=1, Minor:=0 结束小组 如果我然后去VBE编辑器中的窗体,右键单击工具箱,然后转到其他控件添加“Microsoftdate和TimePicker”控件,我看到该选项列出两次。 不幸的是,我认为,行为是一样的:datepicker符号被添加到工具箱中,但是当我将控件拖到窗体上时,popup一个msgBox,说该控件不可用。 有没有人知道什么是错的? 我能做些什么来使它在电脑上运行? 我感谢任何帮助。 编辑: 有这个问题的计算机已升级,所以我不能find具体的解决scheme,我的情况。 […]
我想用C#来读取混合数据types的Excel文件。 以下是我的连接string var path = //xls location var MyConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source='" + path + "';Extended Properties='Excel 8.0;IMEX=1;'"); 研究告诉我连接string中的完整Extended Properties应该是 Excel 8.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text 但是,我被告知在连接string中, TypeGuessRows=0 没有意义,因为这个值将直接从registry中获取 。 因此,我需要手动修改密钥,并从连接string中删除此属性。 涉及的特定registry项是: path: HKEY_LOCAL_MACHINE \ SOFTWARE \微软\喷气\ 4.0 \发动机\ EXCEL 键: TypeGuessRows 原始值= 8 ,以使其工作变为= 0 没有这样做IMEX将无法正常工作,我将TypeGuessRows=0添加到Extended Properties 。 但是,我公司禁止修改registry值(严格)。 我被告知要find替代品。 简而言之: 有没有一种方法来读取混合的数据types的Excel文件, 而不必修改任何registry项 (这是相当普遍的做法)? 进一步话题: 你以前经历过这个吗? […]
在这个前面的问题< 如何获得在VB.NET中编写的Excel的COM服务器安装和注册在自动化服务器列表中? >有一个示例,说明如何使用VS 2008创buildregistry项的完整path。除了我设置的完整path(使用VS中的registry编辑器),mscoree.dll无法正常工作(这意味着它什么都不做)。 完整的registrypath是: HKEY_CLASSES_ROOT \ CLSID \ {my_GUID} \ InprocServer32的\(默认) 我设定的值是: [SystemFolder] MSCorEE.dll中 我可以把任何东西(包括硬编码的完整path),但设置似乎并不重要,registry总是包含mscoree.dll没有任何path。 我已经尝试通过VS添加另一个值到registrypath,并正常工作,包括由[SystemFolder]指定的完整path。 我需要完整path的原因是(如前面的问题所述),如果没有path,Excel会在自动化服务器被选中时产生一个错误,因为它找不到mscoree.dll(有趣的是,即使我收到一个错误, )。 我正在通过安装项目安装,否则工作正常。 我在VISTA * 64系统上安装,但是在其他操作系统上却得到了相同的错误。 有谁知道我在做什么错?