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)

  • Holen Sie sich den Namen der aktiven Excel-Arbeitsmappe von Python
  • Nach einem Javascript-Postback mit COM + IE Automatisierung, um Textdatei zu speichern
  • Gibt es eine Möglichkeit, numerische COM-Fehlercodes in pywin32 zu decodieren
  • Nur teilweiser Zugriff auf eine COM-Typ-Bibliothek über Python
  • Was ist der richtige Weg, um win32inet.WinHttpGetProxyForUrl zu verwenden
  • Pywin32 (com Objekte) auf Mac
  •  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 

  • Relative Einfuhren zum milliardenfachen Zeitpunkt
  • Relative Wege in Python
  • Importieren Sie ein Modul aus einem relativen Pfad
  • Lesen von Datei mit relativen Pfad in Python-Projekt
  • 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.