Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1004to1008
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Hilfe bei Makro

Hilfe bei Makro
29.08.2008 14:57:26
Steffi
Hallo liebe Spezialisten :-)
Ich möchte den in der Zwischenablage befindlichen Text (Kopie aus einer E-Mail) per Makro in der aktiven Zelle als Kommentar einfügen, Wenn sich dann noch automatisch die Größe des Kommentarfeldes auf die Größe des Inhaltes anpasst wäre das die Königslösung!
Habe schon im FAQ nach einer Lösung gesucht, aber leider nichts gefunden.
Freue mich riesig auf Eure Tipps.
Gruß
Steffi

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zwischenablage in Kommentar
29.08.2008 16:23:50
Steffi
Hallo Erich,
ok, ich habe jetzt den folgenden Code aus dem Archiv verwendet, mir werden jedoch Zeilenumbrüche als eckiges Kästchen im Kommentar angezeigt?
Wie kann ich das verhindern?
Gruß
Steffi
Option Explicit
Private Declare Function GetClipboardData Lib "user32" (ByVal wFormat As Long) As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Long, ByVal ByteLen As Long)
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Const CF_TEXT = 7

Public Sub Gerhard()
Dim hStrPtr As Long, lLength As Long, sBuffer As String
OpenClipboard FindWindow("XLMAIN", vbNullString)
hStrPtr = GetClipboardData(CF_TEXT)
If hStrPtr  0 Then
lLength = lstrlen(hStrPtr)
If lLength > 0 Then
sBuffer = Space$(lLength)
CopyMemory ByVal sBuffer, ByVal hStrPtr, lLength
End If
End If
CloseClipboard
With ActiveCell
On Error Resume Next
.Comment.Delete
.AddComment Text:=CStr(Now) & vbLf & Application.UserName & vbLf & sBuffer
End With
End Sub


Anzeige
AW: Zwischenablage in Kommentar
29.08.2008 16:52:27
Erich
Hi Steffi,
zwischen zwei bestehende Zeilen habe ich eine Zeile im Code ergänzt.
Das könnte es schon sein:

CloseClipboard
sBuffer = Replace(sBuffer, vbCrLf, vbLf)
With ActiveCell

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Hilfe bei Makro
29.08.2008 15:56:38
Jochen
Hallo Steffi
ist evtl nicht die schönste Variante, aber funktioniert

Sub clipboard_as_comment()
Dim inhalt As String
Dim zelle As Range
Dim MyData As DataObject
Set MyData = New DataObject
MyData.GetFromClipboard
inhalt = MyData.GetText()
On Error Resume Next
If ActiveCell.Comment.Text  "" Then
ActiveCell.ClearComments
End If
ActiveCell.AddComment
ActiveCell.Comment.Visible = False
ActiveCell.Comment.Text Text:=inhalt
End Sub


Gruß
Jochen

Anzeige
AW: Hilfe bei Makro
29.08.2008 16:14:34
Steffi
Hallo Jochen,
Danke für Deine Hilfe,
Mir wird jedoch beim ausführen des Makros folgender Fehler angezeigt:
"Fehler beim Kompilieren:
Benutzerdefinierter Typ nicht definiert"
MyData As DataObject
LG
Steffi
AW: Hilfe bei Makro
29.08.2008 16:29:00
Petra
Hi Steffi
wenn Du so vorgehst:

Hallo Vera,
die FM20.DLL wirst du in der Liste nicht finden, den Verweis trägt Excel automatisch ein, wenn ein Userform eingefügt wird. Also, einfach ein Formular einfügen und anschließend wieder löschen, dann ist der Verweis da. Du kannst die Objektvariable auch von Haus aus als neues Objekt definieren. Das erspart dir, den Speicher wieder freizugeben, den du mit der Set - Anweisung reserviert hast


bei mir klappt Dein Code dann prima
Grüße Petra

Anzeige
AW: Hilfe bei Makro
29.08.2008 18:03:00
Jochen
Hallo Steffi,
unter Extras -- Verweise
den Haken bei "Microsoft Forms 2.0 Object Library" setzen, dann geht´s
Gruß
Jochen
DANKE
01.09.2008 17:04:00
Steffi
Hallo, und Sorry für die späte Rückmeldung!!!
Dank Eurer Hilfe ist das Problem erledigt.
Einmaliges Forum, Super hilfsbereite Spezialisten.
1000 DANK an Euch
Gruß
Steffi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige