我想从registry的Excel.exe的path。 所以我使用了以下内容: 我正在使用Windows64位 RegOpenKeyEx(HKEY_LOCAL_MACHINE, szKey, 0, KEY_READ, &hKey) 同 szKey = "\Classes\CLSID\{ExcelCLSID}\LocalServer", 该寄存器包含“C:\ PROGRA〜1 \ MIF5BA〜1 \ Office15 \ EXCEL.EXE / automation” 用它来获取Excel.exepath RegQueryValueEx(hKey, NULL, NULL, NULL, (BYTE*)szPath, &cSize) 所以当构build我的解决scheme的平台x64 ,我得到的path C:\\PROGRA~1\\MIF5BA~1\\Office15\\EXCEL.EXE /automation 这是好的 ,但是当我构build我的Win32平台的解决scheme时,我得到以下path "C:\\Program Files\\Microsoft Office\\Office15\\EXCEL.EXE" /automation 这很奇怪,因为这个值存储在下面的registry中 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{ExcelCLSID}\ 我在这里错过了什么?
在registry视图中,我使用以下pathHKCR\CLSID\{MYGUID}\Programmable手动创build了Programmable密钥。 我认为在32位操作系统上没有问题。 但是,在64位操作系统上, Programmable以某种方式被遗漏。 我想这可能与64位的registryredirect有关。 看一下registry,我发现CLSID\{MYGUID}实际上位于@ HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{MYGUID}并且没有在{MYGUID}下创build的Programmable密钥。 所以我的问题是 – 是否必须手动指定Programmable键@ HKLM\SOFTWARE\CLasses\Wow6432Node\CLSID\{MYGUID}\Programmable ? 我需要将目标平台更改为x64吗?
有没有办法通过registry来指定Crystal Report的格式? 我遇到过各种registry项,例如: HKLM \ Software \ Business Objects \ Suite 11.5 \ Crystal Reports \ Export \ Excel HKCU \ Software \ Business Objects \ Suite 11.5 \ Crystal Reportsdevise器组件\导出\ Excel 其中包含许多键,如MailDestDLL,ExportDirectory等 我找不到任何文档,其中包含一个条目,例如,在导出下面写入ExcelDataOnly,这会强制默认导出格式为Excel(仅限date)。 目前,它是格式化的Excel。 我意识到我可以简单地从Crystal中select适当的格式,但这些都是自动的,所以我们没有select这样做。 我想尽可能地通过注册pipe理机构来控制报告的出口。
问题: 我想列出安装在机器上的每个Excel版本的所有Excel加载项( 而不是COM加载项 )。 请给我一些线索或build议吗? 我做了什么 我试图从registry项中获取信息。 对于Office 2013,它在这里。 HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes下\安装\组件\ 72EFF0976DEDB96428D4154EFA5A5807 但对于Office 2007,它不在那里。 密钥的数据是: analys32.xll Data = Analysis ToolPak \提供用于统计和工程分析的数据分析工具 atpvbaen.xlam 数据=分析工具库 – 分析工具库的VBA \ VBA函数 eurotool.xlam 数据=欧元货币工具\欧元货币的转换和格式 solver.xlam Data = Solver Add-in \ Tool用于优化和方程求解 有没有办法实现这个没有硬编码每个Excel版本的组件GUID?
在我的应用程序部署中,我们正在validation哪个版本的excel客户端安装在一台机器上。 有些时候,如果安装了多个版本,那么我们正试图获得最新版本的Excel,然后安装我们的加载项。 我们需要获取Excel的最新版本号以便在registry中进行search。 注册后 “HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes下\ Excel.Application \ CURVER” 这是给Excel 2016的价值 Excel.Application.16 如何从这个单独的16号获得财产? 我们必须得到这个,因为如果安装了excel 2010或更高版本,我们必须安装我们的Msi。
如何从registry中使用inno脚本安装MS Office Excel版本? 我试图波纹pipe的代码,它提供了“钥匙找不到”,但它存在 function InitializeSetup(): Boolean; var CurVer: Cardinal; key: string; if RegQueryDWordValue(HKCR, 'Excel.Application\CurVer\','Default', CurVer) then begin // Successfully read the value MsgBox('Excel Version: ' + IntTOStr(CurVer),mbInformation, MB_OK); end else begin MsgBox('Key not found',mbInformation, MB_OK); end; end;
我有一个Access数据库从外部Excel电子表格导入数据,其中包含一个名为Date Delivered的数据列。 虽然这一栏中的大部分数据实际上是一个datetypes,但是有时候会有4/5/15,5/1/15这样的条目来表示两个交货date。 当使用以下命令导入数据时,它将访问Access: DoCmd.TransferSpreadsheet acImport, 5, "Delivery Data", "\\File\Path.xlsx", True 这导致它使列成为datetypes而不是从那些有问题的字段中删除任何值的string。 我发现这里似乎是一个有用的解决scheme,build议将TypeGuessRowsregistry值更改为0,以使Jet在确定字段数据types时查看所有行。 我使用以下代码创build并更改了registry值: Dim RegLoc As String Dim myWS As Object 'Writes registry value to make Jet check all rows (0) not just first 25 (Default value = 8) to determine type RegLoc = "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel\TypeGuessRows" Set myWS = CreateObject("WScript.Shell") myWS.RegWrite RegLoc, 0, "REG_DWORD" 不幸的是,这似乎并没有工作,因为问题在更改值和重新启动Access和Excel后仍然存在。 […]
我正在处理一些将从SQL数据库导入一些XML的代码。 有时我想使用.xmlImportxml方法将其导入到Excel中,而其他时候我只是想在文本编辑器中打开它。 我用一个checkbox在框架内设置了2个选项button。 该checkbox决定是否要导入或仅查看XML文件。 这两个选项是使用文本编辑器或使用ShellExecute API使用系统默认值。 我不喜欢这个选项,因为它通常是Internet Explorer 。 它看起来不错,但你不能编辑文件。 我想要做的是枚举所有可用于查看系统上的纯文本文件的程序。 我想把它们全部添加到框架内的combobox中。 我以前只是用记事本硬编码使用shell来启动它,但现在我使用记事本++ ,我想有没有硬编码任何使用它的选项。 一些用户使用TextPad ,一些使用UltraEdit ,一些使用写字板等。我可以编写所有我能想到的,但我更愿意dynamic枚举它们。 我已经通过registry检查,但没有任何一致的地方。 我可以用: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithList find名单,但我还没有find一个好办法,从中获得path。 如何获得在OpenWithListfind的.txt文件的所有可执行文件的path? 还是有更好的方法来找出哪些应用程序(文本编辑器)安装的查看和编辑文本文件也是XML文件?
我创build了一个名为Excel的插件 Project Count_Per Person.xlam 当我打开excel并去发展> AddIns并select我的AddIn安装,它不会保持安装,如果我closures了Excel中,即使保存后。 我做的AddIn,在'AddIns'标签下创build一个新的MenuBarButton, 所以我创build了一个新的registry项来在启动时安装插件 HKEY_CURRENT_USER \软件\微软\办公室\ EXCEL \加载项\ ProjectCount_PerPerson 钥匙看起来像这样 (Default) REG_SZ (value not set) Description REG_SZ Project Count_Per Person FriendlyName REG_SZ Project Count_Per Person LoadBehavior DWORD 0x00000003 (3) Manifest REG_SZ C:\Users\b012918\AppData\Roaming\Microsoft\AddIns\Project Count_Per Person.xlam 当我启动Excel时,它显示它正在安装AddIn,但是我得到一个 exception阅读清单从 文件:/// C:/Users/b012918/AppData/Roaming/Microsoft/AddIns/Project%Count_Per%Person.xlam: 清单可能无效或文件无法打开。 http://pastebin.com/bN1datV5 任何洞察到我搞乱了将是有益的。 附加信息: 如果插件在我启动excel的时候被卸载了,它会给出错误信息。 如果插件被“检查”,当我开始excel,它给下面的评论下载错误。 即使插件是以前安装,CommandBarButton不会保持原位。 另外,在选项 – >插件中,插件被声明为“活动”。
我有几个Excel表,我想用不同的Excel版本使用VB.NET 基本上,我想select使用VB.NET打开某个工作表的哪个Excel版本。 有什么办法可以知道在机器上安装了哪个Excel版本,以及VB.NET有多less个版本? 而我该如何select将要打开的Excel版本? 我想通过编程知道这一点,我知道如果你看一下机器中的registry项,就可以做到这一点。 虽然,我需要的是创build一个软件,要求用户input他想要打开的Excel版本