Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
828to832
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
828to832
828to832
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

(vorhandenen) Bild-Import in TXT-Import abwandeln

(vorhandenen) Bild-Import in TXT-Import abwandeln
24.12.2006 01:54:40
Max
Ersteinmal ein frohes Fest euch allen, nu mein Anliegen:
Ich besitze bereits ein sehr gutes Makro mit dem ich Bilder aus einem vordefiniertem Unterordner (Name z.b.: "Bilderordner") in dem sich die xls befindet als Kommentartextur einfügen kann.
Der Effekt ist, dass das Bild erscheint sobald man mit der maus über die Zelle fährt.
Die Rahmengrösse des Kommentars paßt sich dabei automatisch den Bilddimensionen an, so das es nicht verzerrt wird.
Zum Einfügen muss eine Zelle in Spalte 5 als Inhalt den Namen der Bilddatei besitzen, zb "Testbild.jpg". Klickt man diese Zelle nun doppelt wird das Bild automatisch als Kommentar(hintergrund) eingefügt. Bei erneutem Doppelklick wird der Kommentar wieder gelöscht.
hier mal das Makro:
------------------------------------

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim pct As Picture
Dim cmt As Comment
Dim sPath As String
If Target.Column <> 5 Then Exit Sub
If IsEmpty(Target) Then Exit Sub
Application.ScreenUpdating = False
Cancel = True
If Not Target.Comment Is Nothing Then
Target.Comment.Delete
Exit Sub
End If
sPath = ThisWorkbook.Path & "\Bilderordner\"
If Dir(sPath & Target.Value) = "" Then
Beep
MsgBox "Bilddatei wurde nicht gefunden!"
Exit Sub
End If
Set pct = ActiveSheet.Pictures.Insert(sPath & Target.Value)
Set cmt = Target.AddComment
With cmt.Shape
.Width = pct.Width
.Height = pct.Height
With .Line
.DashStyle = msoLineSolid
.Style = msoLineSingle
.Transparency = 0#
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 0, 0)
.BackColor.RGB = RGB(255, 255, 255)
End With
With .Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 255, 255)
.BackColor.SchemeColor = 80
.Transparency = 0#
.UserPicture sPath & Target.Value
End With
End With
pct.Delete
Application.ScreenUpdating = True
End Sub

------------------------------------
Ich möchte nun etwas viel simpleres sagen wir in Spalte 4 einführen.
Das gleiche Prinzip, jedoch mit einer TXT Datei, deren Inhalt ausgelesen wird und als Textkommentar auf die gleiche Weise eingefügt werden soll (per Doppelklick).
Die Breite des Kommentars würde ich nun gerne immer mit 500px festlegen. (Muss ja irgendwie definiert werden, da nun keine Breite und Höhe mehr durch ein Bild vordefiniert sind)
Da die Länge des Inhaltes der TXT's variiert, wäre es klasse wenn man es so einrichten könnte das die Kommentarhöhe sich automatisch festlegt, und zwar eben so hoch das die letzte Zeile des Textes den Abschluss bildet.
Dann sind die Dimensionen also 500(fest) mal ?(bis unterste Zeile) pixel.
Wenn dies nicht möglich ist, kann auch meinetwegen auch eine feste Höhe vordefiniert werden, sagen wir 200px. Dann muss ich die Höhe halt per Hand korrigieren.
Da ich schon lange nichts mehr mit VBA gemacht habe, brauche ich wieder mal Eure findige Hilfe ;)
Wenn ihr eine Lösung habt, bitte am besten als komplettes Makro in eurer Antwort wiedergeben, da ich mit mit den Befehlen garnicht mehr auskenne. Danke!

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: (vorhandenen) Bild-Import in TXT-Import abwand
27.12.2006 14:39:53
Georg
Hallo, wo liegt das Problem? Du hast doch schon dasselbe Prinzip mit den Bildern im Kommentarfeld. Google mal ein bissl nach 'Excel VBA aus Textdatei lesen', da findest du schnell ein paar Beispielscripte. Diese nimmst du und packst das ins 'BeforeDoubleClick'-Ereignis und lässt ein Kommentarfeld erstellen mit dem importierten Text. Kommentare lassen sich nur auf 'AutoSize' für Breite und Höhe stellen, leider nicht einzeln. Es gibt ein paar Tricks für das nachträgliche Variieren der Höhe per Makro, eine ist z.B. die Zeilenanzahl des Kommentarfeldes auslesen - Kommentarfeld auf Höhe einer Zeile anpassen - .ScaleHeight = Höhe x Zeilenanzahl
lg, Georg
Anzeige

49 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige