Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Image Tag - Eigenschaft / Stringproblem

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Image Tag - Eigenschaft / Stringproblem (536 mal gelesen)
Dirk.B
Mitglied
Tischler / Leiter Arbeitsvorbereitung


Sehen Sie sich das Profil von Dirk.B an!   Senden Sie eine Private Message an Dirk.B  Schreiben Sie einen Gästebucheintrag für Dirk.B

Beiträge: 534
Registriert: 25.11.2003

erstellt am: 29. Dez. 2007 16:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen!

Ich bin dabei mir ein kleines Programm zu schreiben, mit dem ich Bilder (Image - Controls) auf eine Userform lade.
Die Image werden mit wmf's aus einem Verzeichnis befüllt.

Code:

Dim NewImage As MSForms.Image
...
Dim Dat1 As String
Dim Dat2 As String
...
With NewImage
    If Dat2 <> "" Then
        Set .Picture = LoadPicture(Dat1 & Dat2)
        Dat2 = Dir
      End If
    .Move 4 + 50 * i, 4 + 50 * j, 48, 48
    .BackColor = color1
    .Enabled = False
    .PictureSizeMode = fmPictureSizeModeZoom
    .Tag = "@@@" & Dat2
End With
...

Da das Image - Control bei .Tag = das Dat2 nicht akzeptiert stelle ich "@@@" als Platzhalter voran.

Klick ich nun per Private Sub UserForm_MouseDown... auf ein Image bekomme ich bei

Code:

MsgBox NewImage.Tag

@@@Bildname01.wmf

Wie kann ich dieses "@@@" umgehen oder mit Left, Right oder Mid aus dem String löschen, so das ich nur Bildname01.wmf erhalte.
Ich benötige den Dateinamen um mit diesem weiter arbeiten zu können, z.B. das ausgewählte Bild in eine weitere größere Image zu laden.

Code:

With Image1 'ImageControl zur größeren Anzeige des ausgewählten Bildes
    .PictureSizeMode = fmPictureSizeModeZoom
    .Picture = LoadPicture("C:\Temp\" & NewImage.Tag)
End With

Kann mir da jemand einen Tipp geben, oder hat da jemand eine Idee dieses noch einfacher zu regeln?

Vielen Dank im voraus.

Gruß

Dirk

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


Sehen Sie sich das Profil von Carsten1210 an!   Senden Sie eine Private Message an Carsten1210  Schreiben Sie einen Gästebucheintrag für Carsten1210

Beiträge: 1357
Registriert: 24.07.2002

AutoCAD ACA 2018
Solidworks 2016 Sp5
Enterprise PDM 2016 Sp5
Pascam Woodworks
Visual Studio 2017 Pro
Windows 10 64Bit
Dell T3620
Intel Core i7-7700K
16 GB Arbeitsspeicher
2x Samsung S24C650
Dell M4800

erstellt am: 29. Dez. 2007 16:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Dirk.B 10 Unities + Antwort hilfreich

Hi Dirk,

Ermittel doch über die Len-Funktion die Länge des Strings und übernehme mittels Right und der Länge - 3 (für die @@@) den Namen.

Code:
Public Sub StringTest_Dirk()
Dim BeispielString As String
Dim FileNamestring As String
Dim StringLänge As Long
BeispielString = "@@@" + "FileName"
StringLänge = Len(BeispielString)
FileNamestring = Right(BeispielString, StringLänge - 3)
MsgBox FileNamestring
End Sub

Bei dir müsste das dann so lauten:

Code:
.Picture = LoadPicture("C:\Temp\" & Right(NewImage.Tag, Len(NewImage.Tag) - 3))

Gruß, Carsten

[Diese Nachricht wurde von Carsten1210 am 29. Dez. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


Sehen Sie sich das Profil von Carsten1210 an!   Senden Sie eine Private Message an Carsten1210  Schreiben Sie einen Gästebucheintrag für Carsten1210

Beiträge: 1357
Registriert: 24.07.2002

erstellt am: 30. Dez. 2007 15:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Dirk.B 10 Unities + Antwort hilfreich

Hallo Dirk,

Zitat:
Da das Image - Control bei .Tag = das Dat2 nicht akzeptiert stelle ich "@@@" als Platzhalter voran.

Was für einen Inhalt hat Dat2 denn, das das nicht akzeptiert wird?! Ich kann dein Problem da nicht nachvollziehen.

Gruß, Carsten

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz