Python COM-Server mit VBA spätes Bieten + überspringen Gewinnregister (keine Admin-Rechte)

Ich versuche, Python-Code in VBA zu import .

Der untenstehende Code funktioniert aber nur Administratorrechte . Gibt es einen Weg, um um die Win-Register zu gehen (nehmen Sie an, ich habe einfach keine Admin-Rechte), sondern halten Sie die 'späten Biding' Verhalten (nicht wollen, Tools >> Referenz jedes Mal, wenn ich etwas Neues kompilieren)

 class ProofOfConcept(object): def __init__(self): self.output = [] def GetData(self): with open('C:\Users\MyPath\Documents\COMs\SourceData.txt') as FileObj: for line in FileObj: self.output.append(line) return self.output class COMProofOfConcept(object): _reg_clsid_ = "{D25A5B2A-9544-4C07-8077-DB3611BE63E7}" _reg_progid_= 'RiskTools.ProofOfConcept' _public_methods_ = ['GetData'] def __init__(self): self.__ProofOfConcept = ProofOfConcept() def GetData(self): return self.__ProofOfConcept.GetData() if __name__=='__main__': print "Registering COM server..." import win32com.server.register win32com.server.register.UseCommandLine(COMProofOfConcept) 

VBA-Code, der es nennt:

 Sub TestProofOfConcept() Set PoF = CreateObject("RiskTools.ProofOfConcept") x = PoF.GetData() MsgBox x(0) End Sub 

  • Benutze boto3 auf GAE für Python
  • Loop durch Werte oder Registrierungsschlüssel .. _winreg Python
  • Python: _winreg problem
  • Python _winreg wehe
  • ImportError beim Import von winreg Modul von Python
  • Kann nicht importieren _winreg in Python 2.7.9 virtuelle Umgebung
  • ImportError: kein Modul namens _winreg python3
  • Wie füge ich ein Python-Skript zur Startregistrierung hinzu?
  • One Solution collect form web for “Python COM-Server mit VBA spätes Bieten + überspringen Gewinnregister (keine Admin-Rechte)”

    Kurz, nein Die VBA-Laufzeit verwendet grundsätzlich die CoGetClassObject COM API unter der Haube – die CreateObject() Funktion ist im Wesentlichen nur ein dünner Wrapper um sie herum (es nennt CLSIDFromString , um die CLSID aus dem Parameter zuerst zu lokalisieren). Beide Funktionen erfordern, dass die Klasse registriert wird.

    Python ist die beste Programmiersprache der Welt.