jk23jk
Goto Top

Excel Signatur

Hallo zusammen,

ich habe da mal eine kurze Frage wozu ich leider nicht durch googlen fündig geworden bin.
Ich hoffe ich habe nicht falsch gegoogelt und gleich kommen 1000 Links zurück.


Es ist so, ich habe ein Excel Dokument mit verschiedenen Feldern etc.
Ein Feld soll davon nach Bearbeitung durch verschiedene Benutzer "unterschrieben" werden.

Gibt es die Möglichkeit zu sagen Wenn Benutzer XY das Dokument öffnet dann soll direkt in das Feld xy die unterschrift meinetwegen als .jpg eingefügt werden.
Die Unterschrift soll er sich aus nem bestimmten Pfad holen der über die Systemvariable welcher Benutzer angemeldet ist identifiziert wird.

Vielen Dank vorab.

Grüße

Content-ID: 214773

Url: https://administrator.de/forum/excel-signatur-214773.html

Ausgedruckt am: 22.12.2024 um 23:12 Uhr

colinardo
colinardo 20.08.2013, aktualisiert am 21.08.2013 um 12:36:26 Uhr
Goto Top
Hallo JK23JK,
no Problem:
Noch den Pfad zu den Bildern und den Dateinamen in Zeile 10 zusammensetzen, und das Worksheet und die Zelle in der die Unterschrift eingefügt werden soll in Zeile 16/17 festlegen, fertig.

Private Sub Workbook_Open()
    Dim username As String
    Dim ws As Worksheet
    
    'Usernamen des angemeldeten Users holen  
    Set objShell = CreateObject("Wscript.Shell")  
    username = objShell.ExpandEnvironmentStrings("%username%")  
    
    'Pfad zum Bild zusammensetzen  
    strPathToImage = "E:\Unterschriften\" & username & ".png"  
    
    'Wenn Pfad und Bild existieren ...  
    Set fso = CreateObject("Scripting.Filesystemobject")  
    If (fso.FileExists(strPathToImage)) Then
        'Worksheet und Zelle auswählen in die die Unterschrift eingefügt werden soll  
        set ws = Worksheets(1)
        ws.Range("A1").Select  
        'Bild einfügen  
        ws.Pictures.Insert (strPathToImage)
    Else
        MsgBox "Pfad bzw. Unterschrift existiert nicht!" & vbCrLf & strPathToImage  
    End If
End Sub
Das ganze fügst du dann in dein Excel VBA-Project (ALT-F11) unter "Diese Arbeitsmappe" ein und speicherst das Dokument als *.xlsm ab. Eventuell musst du noch deine Makro-Sicherheitseinstellungen anpassen.

Grüße Uwe
JK23JK
JK23JK 21.08.2013 um 09:50:51 Uhr
Goto Top
Hallo Uwe,


vielen Dank du hast mir sehr geholfen.

viele Grüße
JK23JK
Barthinator
Barthinator 21.08.2013 um 12:31:50 Uhr
Goto Top
Moin,

vielen Dank erstmal! Genau das habe ich gesucht face-smile

Allerdings bekomme ich immer den Laufzeitfehler '91: Objektvariable oder With-Blockvariable nicht festgelegt.

Debugger sagt in Zeile 16.

Was kann ich da machen?

LG
colinardo
colinardo 21.08.2013 aktualisiert um 12:35:30 Uhr
Goto Top
sorry, da war ein kleiner typo drin.
muss so in Zeile 16 geschrieben werden:
set ws = Worksheets(1)
ist oben korrigiert.

Grüße Uwe
Barthinator
Barthinator 21.08.2013 um 12:42:21 Uhr
Goto Top
Ich bin begeistert! face-smile

Super vielen Dank!