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-Key: 214773

Url: https://administrator.de/contentid/214773

Printed on: April 23, 2024 at 12:04 o'clock

Member: colinardo
colinardo Aug 20, 2013, updated at Aug 21, 2013 at 10:36:26 (UTC)
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
Member: JK23JK
JK23JK Aug 21, 2013 at 07:50:51 (UTC)
Goto Top
Hallo Uwe,


vielen Dank du hast mir sehr geholfen.

viele Grüße
JK23JK
Member: Barthinator
Barthinator Aug 21, 2013 at 10:31:50 (UTC)
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
Member: colinardo
colinardo Aug 21, 2013 updated at 10:35:30 (UTC)
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
Member: Barthinator
Barthinator Aug 21, 2013 at 10:42:21 (UTC)
Goto Top
Ich bin begeistert! face-smile

Super vielen Dank!