Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ScadeBlock/PythonWIMVBA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

34 Commits

Repository files navigation

PythonWIMVBA

Python With VBA ! Run python via VBA


πŸ–₯ PyWimVBA 6.0! - New release! βš”

New features, with many changes from 5.x

πŸŽ‰πŸŽ‰New FeaturesπŸŽ‰πŸŽ‰

  • Create new RunPy
    • Require PyServer (1.0 for PyWVBA 6.0) - (Program will auto download it when necessary
    • Added cache value
    • Huge Performance improves from 5.x
  • 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 to RunPyOld()
  • ⚠ Warning: PyServer 1.0 using localhost with port : 9812

Installation

  • Install python (Any version, NOTE: Checks Add python to path when start setup)
  • Install PyWimVBA to your vba project (Install .bas file and see here )

Where's the lower version of PythonWimVBA?

Lower Version is tested privately; some versions are publicly released, but they are pre-release. They're outdated, unsecure and unstable, so please use only versions 5.2 or above.

🎨 PyWimVBA Example

Quick Start

Introduce basic uses of PyWimVBA

  • Example construct
Sub MySub()
 StartPyServer ' Start the server
 ' Code here
 EndPyServer ' Stop the server
End Sub

FACT: You can hide the CMD of PyWimVBA by set silent=true (Read the documention below)

  • Run python code & extract python value
Sub MySub()
 'Do a equation in python and export show it with MsgBox
 Dim Output as String
 StartPyServer ' Start the server
 RunPy("myvariable = 8 + 5")
 Output = RunPy("print(myvariable)") 'You can extract python value by using "print"
 MsgBox Output
 EndPyServer ' Stop the server
End Sub

Documention

πŸ’ŽPyWimVBA 6.0 New Function

  • StartPyServer(Optional: pythonPath = "python",Optional useCustomPyServer: False,Optional : silent=false) : Starts PyServer (PyServer supports only single server) silent=true will hide command prompt of PyServer. Set useCustomPyServer to 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 . Use deletePyServer=False to keep your PyServer to reuse in StartPyServer (Not recommend)

  • CheckPyServer() - Check a or any server is running.

  • PathPyServer() - Get PyServer path

  • ClearPyServer() - Because PyServer support 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.py

    import 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])

RunPyOld is "run" function from older version. I suggest you don't use it because it's outdated and buggy

  • 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!\'")

About

Run python with VBA !

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /