Informationen und Beispiele zum Thema MsgBox | |
---|---|
![]() |
MsgBox-Seite mit Beispielarbeitsmappe aufrufen |
Informationen und Beispiele zum Thema Label | |
---|---|
![]() |
Label-Seite mit Beispielarbeitsmappe aufrufen |
Betrifft: Speicherpfad aus zelle zusammenfügen
von: Dominik
Geschrieben am: 15.09.2019 11:51:26
Hallo,
ich habe folgenden code der mir alle pdf dateien aus einem ordner in excel einbettet. das funktioniert auch super. der pfad ist bis zu dem ordner mitarbeiter gleich und dann muss der pfad variabel sein. er soll sich aus der zelle den entsprechenden mitarbeiter suchen, und unter dem mitarbeiter dann den kundenordner den der mitarbeiter bearbeitet und aus diesem dann das pdf einbetten.
ich habe es so versucht: const strpfad = "c:\users\hallo\desktop\mitarbeiter\" & cells(i, 2) & "\" & cells(i, 3) & "\". das funktioniert aber leider nicht.
Sub aaa() Dim i As Integer i = 6 Const strPfad = "C:\users\marcel brandner\desktop\mitarbeiter\" 'anpassen Do While Cells(i, 1).Value <> "" If Dir(strPfad & Cells(i, 4).Value & ".pdf", vbNormal) = "" Then MsgBox "Die Datei gibt es nicht!", vbInformation, "Gebe bekannt..." Else Cells(i, 5).Select ActiveSheet.OLEObjects.Add(Filename:=strPfad & Cells(i, 4).Value & ".pdf", Link:=False, _ DisplayAsIcon:=True, IconFileName:="T:\PFT\pft.ico", _ IconIndex:=0, IconLabel:="").Select End If i = i + 1 Loop Dim Picture As Shape For Each Picture In ActiveSheet.Shapes With Picture .LockAspectRatio = msoFalse .Width = [e5].Width .Height = [e5].Height End With Next End Subgruß
Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713173.html
Geschrieben am: 15.09.2019 12:17:41
Hi,
lade mal eine Beispieldatei hoch, damit man sieht, was in den einzelnen Zellen steht. So ist das schwer zu beurteilen.
Was heißt "funktioniert nicht"? Gibt es eine Fehlermeldung?
Gruß
Regina
Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713176.html
Geschrieben am: 15.09.2019 12:39:25
hallo regina,
anbei die excel-datei.
https://www.herber.de/bbs/user/132044.xlsm
als fehlermeldung erhalte ich "konstanter ausdruck erforderlich
gruß
dominik
Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713180.html
Geschrieben am: 15.09.2019 12:56:38
Hi Dominik,
der "Fehler" kommt daher, weil du versuchst, einer KONSTANTEN (keine Variable!) einen variablen Wert zuzuweisen.
Lösung:
Schreib nicht
Const strPfad = "C:\users\hallo\desktop\mitarbeiter\" & Cells(i, 2) & "\" & Cells(i, 3) & "\" 'anpassen
Dim strPfad As String strPfad = "C:\users\hallo\desktop\mitarbeiter\" & Cells(i, 2) & "\" & Cells(i, 3) & "\" 'anpassen
Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713195.html
Geschrieben am: 15.09.2019 14:26:12
Hallo Thorsten,
danke für die rückmeldung. So habe ich es auch schon probiert, aber da macht er es nur für die zeile 6 aber nicht für alle zeilen die wo die spalte a und d ungleich "" sind. eine Beispieldatei habe ich schon hochgeladen.
https://www.herber.de/bbs/user/132044.xlsm
gruß
dominik
Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713196.html
Geschrieben am: 15.09.2019 14:34:25
Hi Dominik,
ok, recht haste, ne Bsp-Datei zeigtest du schon.
Leider kann ich dir trotzdem nicht helfen.
Zum Testen benötige ich ja "deine" PDF-Dateien in genau den angegebenen Verzeichnissen.
All das müsste ich per Hand erstellen.
Ich wünsch dir weiter viel Erfolg!
Ciao
Thorsten
Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713197.html
Geschrieben am: 15.09.2019 14:35:28
Hi
wenn du einer Variablen einen Wert zugewiesen hast, dann behält diese Variable ihren Wert solange, bis du ihr einen anderen Wert zuweist.
Auch wenn du i änderst, behält strPfad den ursprünglichen Wert.
dh wenn sich strPfad über die Do-Schleife ändern soll muss auch die Zuweisung der Variablen innerhalb der DO-Schleife erfolgen:
Falsch:
strPfad = strPfad = "C:\...\" & Cells(i, 2) & "\" & Cells(i, 3) & "\" Do While Cells(i, 1).Value <> "" ... LoopRichtig:
Do While Cells(i, 1).Value <> "" strPfad = strPfad = "C:\...\" & Cells(i, 2) & "\" & Cells(i, 3) & "\" ... LoopGruß Daniel
Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713199.html
Geschrieben am: 15.09.2019 14:39:15
Hi, also mit diesem Code (Ausschnitt) läuft er bei mri durch alle Zeilen durch:
Dim i As Integer i = 6 Dim strPfad As String strPfad = "C:\users\hallo\desktop\mitarbeiter\" & Cells(i, 2) & "\" & Cells(i, 3) & "\" ' _ anpassen Do While Cells(i, 1).Value <> "" If Dir(strPfad & Cells(i, 4).Value & ".pdf", vbNormal) = "" ThenZweimal die Meldung, dass Datei (logischer Weise)nicht gefunden.
Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713200.html
Geschrieben am: 15.09.2019 14:42:18
... vergiss es, Daniel hat natürlich recht...
Gruß
Regina
Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713214.html
Geschrieben am: 15.09.2019 16:38:04
Hallo Daniel,
oh man, vielen dank es funktioniert.
gruß
dominik