Running an Excel macro via Python?

I would expect the error is to do with the macro you’re calling, try the following bit of code: Code import os, os.path import win32com.client if os.path.exists(“excelsheet.xlsm”): xl=win32com.client.Dispatch(“Excel.Application”) xl.Workbooks.Open(os.path.abspath(“excelsheet.xlsm”), ReadOnly=1) xl.Application.Run(“excelsheet.xlsm!modulename.macroname”) ## xl.Application.Save() # if you want to save then uncomment this line and change delete the “, ReadOnly=1” part from the open function. xl.Application.Quit() …

Read more

Are ActiveX Controls Disabled?

From other forums, I have learned that it is due to the MS Update and that a good fix is to simply delete the file MSForms.exd from any Temp subfolder in the user’s profile. For instance: C:\Users\[user.name]\AppData\Local\Temp\Excel8.0\MSForms.exd C:\Users\[user.name]\AppData\Local\Temp\VBE\MSForms.exd C:\Users\[user.name]\AppData\Local\Temp\Word8.0\MSForms.exd Of course the application (Excel, Word…) must be closed in order to delete this file.

Using a UDF in Excel to update the worksheet

Posting a response so I can mark my own “question” as having an answer. I’ve seen other workarounds, but this seems simpler and I’m surprised it works at all. Sub ChangeIt(c1 As Range, c2 As Range) c1.Value = c2.Value c1.Interior.Color = IIf(c1.Value > 10, vbRed, vbYellow) End Sub ‘######## run as a UDF, this actually …

Read more

Continue For loop

You can use a GoTo: Do ‘… do stuff your loop will be doing ‘ skip to the end of the loop if necessary: If <condition-to-go-to-next-iteration> Then GoTo ContinueLoop ‘… do other stuff if the condition is not met ContinueLoop: Loop