Tag: macos

Excel 2011和Excel 2016可以在OSX上使用相同的macros工作簿源吗?

这可能是非常具体的,但我在工作中使用macros。 我们最近在办公室里得到了Mac版的Excel 2016,除了VBA编辑器在function和易用性方面受到重创之外,它比Excel 2011更好。 最近,我一直在使用Excel 2011个人macros工作簿编辑macros,然后将所有代码复制/粘贴到我的Excel 2016个人macros工作簿中,这可能很麻烦,并且在将来的某个时候很容易出错。 2011年和2016年的源代码是否有可能来自相同的个人macros观工作簿,因此在2011年进行编辑时,它会自动更改2016年的使用情况? 如果有人有解决scheme,这也可能是一个很好的方式来共享定期更新的同事之间的macros。

VBA编译错误:方法或数据成员找不到与Mac上的button

我有一个在Windows(Office 2007)上工作的vba脚本,我现在在我的Mac上使用(Office 2011)。 一切工作正常在Windows上,但我有一个button,不运行的麻烦。 运行时,我有一个方法或数据成员找不到错误,第一个层次以黄色突出显示,.Filters.Clear突出显示为灰色。 我不知道问题在哪里 谢谢你的帮助 ! Sub Button5_Click() Application.ScreenUpdating = False 'à mettre en début de chaque macro !!! If CommandButton5 = Click Then ChDir ("Marcin2:Comptasoft:ListingClient") 'Declare a variable as a FileDialog object. Dim fd As FileDialog 'Create a FileDialog object as a File Picker dialog box. Set fd = Application.FileDialog(msoFileDialogFilePicker) 'Declare a […]

无法在Excel 2016 for MAC上从VBA调用Python脚本

当我运行以下并将一些parameter passing给我现有的Excel for Mac 2011的 Python脚本时,它的工作原理,但没有发生在Mac 2016的 Excel,即没有错误,没有结果。 #If Mac Then Private Declare Function system Lib "libc.dylib" (ByVal command As String) As Long Const python3Dir As String = "/usr/local/bin/python3" #End If Sub btnScrape_Click() ' Uses system() to run external command ' system() only returns the exit code. If you want to get the output from […]

QueryTables对象的Refresh方法的正确的VBA语法是什么?

这个用于Mac代码的Excel从Yahoo下载股票数据表并将其插入标记为“DataSheet”的工作表中。 它从工作表“QuerySheet”中获取股票行情,开始和结束date。 此代码在QueryTable对象的.Refresh方法上失败,我不明白为什么。 什么是正确的语法? Sub data_get() Dim ticker As String, sday, smonth, syear, eday, emonth, eyear As Long Dim QuerySheet As Worksheet Dim DataSheet As Worksheet Set QuerySheet = ActiveWorkbook.Sheets("QuerySheet") Set DataSheet = ActiveWorkbook.Sheets("DataSheet") DataSheet.Columns("A:G").ClearContents With QuerySheet ticker = Range("A2") sday = Day(Range("G2")) smonth = Month(Range("G2")) syear = Year(Range("G2")) eday = Day(Range("H2")) emonth = Month(Range("H2")) […]

从Mac Excel 2016中删除旧加载项

我想从我的MAC地址的Excel 2016的加载项列表中删除加载项。 我从物理path中删除了加载项,也从加载项列表中取消选中加载项。 closures所有的Excel实例。 当我重新打开excel时,它显示“Add-in不在指定的path中,你是否想要从列表中移除?”,我已经给出了“是”,但是列表中还是出现了这个加载项。我从列表中删除旧的加载项。

用于将工作簿中的每个工作表保存为CSV文件的macros

首先让我只是说,我一直在Google上search几个小时,然后尝试每一个在线代码,我可以find,所以不要以为我没有尝试之前询问… 出于某种原因,我发现每一个单一的错误。 我只想要一个macros,将每个.xlsm工作簿保存为.csv文件。 最好我可以让macros创build一个popup窗口,我可以selectCSV文件的目标path。 这将使用Mac版Office 2016。 具体来说,这是我刚刚尝试的一个: Sub SaveAllSheetsAsCSV2() On Error GoTo Heaven ' each sheet reference Dim Sheet As Worksheet ' path to output to Dim OutputPath As String ' name of each csv Dim OutputFile As String Application.ScreenUpdating = False Application.DisplayAlerts = False Application.EnableEvents = False ' ask the user where to save […]

VBAmacros在Excel 2016 for Windows上工作,但不适用于Mac

我有一个Excel 2016的macros,它非常适合创buildPDF。 但是这个macros只适用于Windows的Excel 2016。 我在Mac上使用Excel 2016(最新版本)进行试用,并且不起作用。 这是我的macros Sub Macro1() Dim Chemin As String Dim texte As String Chemin = ThisWorkbook.Path & "/" texte = Range("C3") Application.DisplayAlerts = False ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:=Chemin & texte & ".pdf", _ Quality:=xlQualityMinimum, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=False Cells(1, 3).Value = Cells(1, 3).Value + 1 End Sub 我做了大量的search,似乎“ExportAsFixedFormattypes:= xlTypePDF”不适用于Mac的最后一个Excel版本。 […]

Excel for Mac 2016 – 另存为CSV – 坏行结束

我有一些CSV导入代码无法导入由Mac版2016导出的Excel文件。 CSV导入代码可以完美地处理{CR},{LF}或{CR} {LF}行结尾,但Excel for Mac正在导出具有完全虚线结尾的文件。 例如,如果我从这样的工作表开始: Foo|Bar —+— 123|456 我希望它在导出为CSV时看起来像这样: Foo,Bar{CR}123,456 (我不介意使用哪一行结尾,可以是{CR},{LF}或{CR} {LF},我的CSV导入代码可以正确处理。 但是,下面是Excel 2016 for Mac 2016实际上正在导出它: Foo,Bar{CR}{CR}{LF}123,456 如果我尝试将它保存为“Windows CSV”,那么它实际上会添加一个额外的列,但根本不修复行尾: Foo,Bar,{CR}{CR}{LF}123,456, 导出为CSV时,我应该使用一组特定的选项吗? 编辑:我应该补充一点,如果我从Excel 2016 for Mac导出为CSV格式,然后立即在Excel 2016 for Windows 2016中打开该文件,则会在每行数据之间导入一行额外的行,如下所示: Foo|Bar —+— | —+— 123|456 所以这不仅仅是我的CSV导入代码的问题 – 即使Excel的Windows也不会正确读取Mac的CSV文件。

当在办公室使用macscript()时,Applescript不起作用,但是当我粘贴到脚本编辑器中时,它会执行吗?

这是我的代码: nameFilter = "'.*/([^~][^/]*" & nameFilter & "[^/]*|" & nameFilter & "[^/]*)\\.(xls|xlsx|xlsm|xlsb)$' " scriptToRun = "do shell script """ & "find -E " & folderPath & " -iregex " & nameFilter & "-maxdepth 1 ! -iname '*Personal*'" & """ " invoicesToAddToList = MacScript(scriptToRun) MsgBox scriptToRun MsgBox invoicesToAddToList 第一个MsgBox看起来像这样: 第二个MsgBox显示空白,就好像MacScript()没有返回任何内容 令人发疯的是,我可以将该消息框中的文本复制并粘贴到Apple脚本编辑器中,并且每次都会返回一个文件。

VBA:在Office for Mac中压缩文件

我喜欢在Microsoft Excel 2016 for Mac版本15.23.2(160624)下压缩文件。 我写了一个应用程序,它将所有的文件作为命令行parameter passing。 现在,我必须从VBA调用该应用程序,并将文件path作为命令行参数提供。 我从这个答案开始,但遇到问题: 当使用Shell命令时,我得到运行时错误53(找不到文件)。 但是由于这个消息来源说,这个命令不是命令行参数,我无法使用它。 当使用MacScript命令时,我得到运行时错误5(无效的过程调用或无效的参数)。 所以我试着用链接答案中build议的标准C库中的system()函数。 在这里我得到了以下testing结果: Private Declare Function system Lib "libc.dylib" (ByVal command As String) As Long Call system("open -a Safari –args http://www.google.com") 'Example 1: starts Safari, but does not load google Call system("open -a Safari http://www.google.com") 'Example 2: starts Safari and loads google Call system("open […]