Czy można uruchomić program uruchamiający, nie wymagając podniesienia poziomu.Przenośny serwer w języku Python za pomocą pywin32
Na przykład mogę uruchomić kod z Python.TestServer (poniżej), ale wymaga to podniesienia.
kod Python.TestServer jest pod adresem: Consuming Python COM Server from .NET
Czy możliwe jest uruchomienie serwera COM, który nie wymaga elewację tak, że mogę uruchomić com obiektu bez konieczności hasło administracyjne.
np
import pythoncom
from win32com.server import localserver
class demoObj(object):
_reg_clsctx_ = pythoncom.CLSCTX_LOCAL_SERVER
_reg_clsid_ = "{FA501660-8BB0-42F6-842B-A757FA3098DC}"
_reg_desc_ = "Demo COM server"
_reg_progid_ = "Python.Demo"
_public_methods_ = ['hello']
def hello(self, who):
return "Hellow " + who
localserver.serve('B83DD222-7750-413D-A9AD-01B37021B24B')
Próbowałem powyżej kodu, ale mówi pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)
jak zrobić prawidłowy ciąg klasy dla lokalnego serwera?
Przykład VBA:
Sub demodemo()
Set obj = CreateObject("Python.Demo")
Debug.Print obj.Hello("World")
End Sub
Serwer Com będą spożywane przez VBA. Jaki jest twój problem z vba? – Rahul
Z ciekawości, co próbujesz zrobić? Wiem, że w vba istnieją inne alternatywy, aby połączyć Excela i Pythona – Kelvin
czy próbowałeś xlwings? – denfromufa