🎉🎉New Features🎉🎉
- Create new RunPy
- Require
PyServer(1.0 for PyWVBA 6.0) - Added cache value
- Huge Performance improves from 5.x
- Require
- Added some server function like
ClearPyServer()- Clear all variable cached - Don't need to create logfile or codefile
- Keep 5.4
RunPy()and renamed it toRunPyOld() - ⚠ Warning:
PyServer 1.0using localhost with port :9812
🎨 PyWimVBA Example
Documention
💎PyWimVBA 6.0 New Function
-
StartPyServer(Optional: pythonPath = "python",Optional useCustomPyServer: False,Optional : silent=false): StartsPyServer(PyServer supports only single server)silent=truewill hide command prompt ofPyServer. SetuseCustomPyServerto path of your PyServer (can use in offline or a older pyserver) -
EndPyServer(Optional deletePyServer: True)- A server doesn't close automatically with VBA, so you need to close it before end VBA code . UsedeletePyServer=Falseto keep your PyServer to reuse inStartPyServer(Not recommend) -
CheckPyServer()- Check a or any server is running. -
PathPyServer()- Get PyServer path -
ClearPyServer()- BecausePyServersupport only one server, you can use this function to clear cached data like value,etc... -
RunPy(code)- Simply run a code of python, split new line with;;and indentation are space,tab or tab smart syntax:!tab~ -
LoadPy(file)- Load a python file and convert it to PyWimVBA Syntax- For example, it'll convert this file code
examplefile.pyimport time time.sleep(5)- To
import time;time.sleep(5) - APPLY TO USE:
RunPy(LoadPy("mycodefile.anyextension"))
-
RunPyOld(code,[pythonPath = "python"] , [newengine = False], [ keepFileData = False] , [UseDebug = False]) -
Code splitting by ";;" , e.x :
import time;;time.sleep(5) -
[Optional] newengine : Improve performance, doesn't need to create logfile - still create code file . But it's will show up a cmd splash - doesn't work with UseDebug
-
[Optional] keepFileData: Keep the output file and code file after finishing execution.
-
[Optional] UseDebug: Show cmd that runs python code and keep it alive with it's output [Use debug to catch errors, the output file may not catch them. So when debug is enabled, Output file does nothing.
-
E.x :
MsgBox RunPy("Welcome to \'Python With VBA!\'")
Example usage
Here's a example code to run python in vba wuth PWV
Sub running()
StartPyServer
RunPy ("example_value = 'Hello from PWA 6!'")
MsgBox RunPy("print(example_value)") 'To test cached value
MsgBox RunPy("if 1+1==2:;;!tab~print('It actually works!')")
EndPyServer
End Sub