我见过如何使用VBA从Excel发送HTTP POST请求到服务器? 以及介绍如何使用QueryTable从HTTP端点检索数据的MacOS友好响应 。 它演示了如何检索单个string并将其填充到单元格中。 都好。 现在我想检索一个以上的值。 这是一个很大的JSONstring,我想在填充一个或多个单元格之前在Excel VBA中进行后续处理。 这怎么可能? 我可以想到一种方法 – 将QueryTables的结果放入一个隐藏的单元格,然后后处理隐藏的单元格以填充其他单元格。 有几个VBA的JSON库,我还没有评估。 但是,这似乎很hacky。 真的,我不想依赖将JSON作为值存储在单元格中。 我想只将它存储到我的VBA代码中的一个variables。 就像我使用CreateObject(“MSXML2.ServerXMLHTTP”)一样。 ( NB:CreateObject()在MacOS上的Excel中不可用 )。 而且我明白这里最好的答案可能是: 如果你想在Excel中运行应用程序,可以获取一台Windows机器。
我有一个Excel VBA项目,大量使用Windows脚本字典对象。 我最近有一个用户尝试在Mac上使用它,并收到以下错误: Compile Error: Can't find project or library 这是使用Tools > References > Microsoft Scripting Runtime库的结果。 我的问题是, 有没有办法让这个工作在Mac ? 以下是我能想到的三种可能的解决scheme: 使用Mac插件,可以在Mac上使用字典( 如果存在,我最喜欢的选项 ) 做一些像下面这样的可变开关: isMac = CheckIfMac If isMac Then ' Change dictionary variable to some other data type that is Mac friendly and provides the same functionality End If 写2个完全独立的例程做同样的事情( 请让这不是需要发生的事情 ): isMac […]
嗨,我想列出Excel工作簿所在的子目录中的所有文件。出于某种原因,代码不能超出Dir函数执行。 任何人都可以请指教? 谢谢! Sub ListFiles() ActiveSheet.Name = "temp" Dim MyDir As String 'Declare the variables Dim strPath As String Dim strFile As String Dim r As Long MyDir = ActiveWorkbook.Path 'current path where workbook is strPath = MyDir & ":Current:" 'files within "Current" folder subdir, I am using Mac Excel 2011 'Insert the headers in […]
我开发了一个使用VBScript.RegExp的Excel 2010 VBAmacros。 我的一个用户显然使用支持VBA的Excel Mac 2011,但没有VBScript.RegExp 。 我已经看到了几个职位,提到可以使用AppleScript创build自己的RegEx函数,可以由VBAmacros调用。 但是,似乎必须有一个Mac版本的Excel文件和一个Windows版本。 这并不理想。 有没有另外一种方法可以在Windows和Mac兼容的VBA中实现正则expression式?
我正在尝试使用IF子句来确定我的checkbox(名为“checkbox1”)是否被选中,以便在我的程序中进一步使用。 我目前的代码: Sub Button167_Click() If ActiveSheet.Shapes("Check Box 1") = True Then Range("Y12").Value = 1 Else Range("Y12").Value = 0 End If End Sub 这似乎不工作,但debugging告诉我有一个问题 ActiveSheet.Shapes("Check Box 1") 不过,我知道这个代码有效(即使它有不同的用途): ActiveSheet.Shapes("Check Box 1").Select With Selection .Value = xlOn 编辑:如果需要更多的信息,我的checkbox(在我的网页上有200个)位于sheet1,名称为“Demande”。 并且每个checkbox都具有相同的格式名称“checkbox…”。 所有的帮助将不胜感激。 谢谢
好吧,对于那些知道在Excel VBA中是主人的人,我有一个由另一个选项卡上的列表填充的公司的下拉菜单。 三列,公司,工作编号和零件编号。 我所做的是当创build一个作业时,我需要一个用于创build所述公司的文件夹,然后是基于所述部件号创build的子文件夹。 所以如果你沿着这条路走下去就像这样: C:\Images\Company Name\Part Number\ 现在,如果公司名称或零件编号存在,则不要创build或覆盖旧的。 只需进入下一步。 因此,如果两个文件夹都不存在,则根据需要创build一个或两个文件夹。 这有道理吗? 如果有人能帮助我理解这是如何工作,以及如何使其工作,将不胜感激。 再次感谢。 另一个问题,如果它不是太多,是否有办法使它在Mac和PC上的作品相同?
看来,旧的macros不起作用。 我有适当的安全设置运行VBAmacros,但是当我已经尝试了几个方法清除工作表上的所有筛选器,我得到一个编译错误。 这是我所尝试的: Sub AutoFilter_Remove() 'This macro removes any filtering in order to display all of the data but it does not remove the filter arrows ActiveSheet.ShowAllData End Sub 我有工作表上的button来清除所有filter,方便用户使用,因为工作表中有许多列上有filter的列。