Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Ordner & Speichern
#1
Hallo zusammen

Entschuldigung......aber ich finde nirgends eine Lösung zu meinen Wunsch. Daher stelle ich hier die Frage....... vielleicht bin ich 100te der das fragt....sorry

Gegeben:
ZelleA1 : Vorname
ZelleA1 : Name
ZelleA3 : Zusatztext

Wunsch:
- Datei als PDF Speichern (ZelleA3 & " - " & A1 " " & A2)
- Speichern in vorgegebenen Zielorder: "C\:....." aber, 
- Darin Unterordner..... suchen aus Namen (ZelleA1 und A2), wenn vorhanden dort PDF drin speichern, wenn nicht vorhanden, Unterorder erstellen aus Vor- u. Nachname und PDF drin speichern.

Herzlichen Dank Euch
und einen guten Start in den Tag
Antworten Top
#2
Hallo Mumpf,

ich nehme mal an, dass es dir um VBA geht. Du benötigst dabei nur zwei Grundkenntnisse, die du eigentlich im ersten Kapitel eines jeden Grundlagenbuchs, bzw. einer ersten Lektion in einem Grundlagenseminar lernen solltest:
1. Der Zugriff auf Zellinhalte
Auf Zellinhalte greifst du über die .Value-Eigenschaft oder die .Text-Eigenschaft eines Rangeobjektes zu. Solang das Range-Objekt aus einer einzelnen Zelle besteht, wird der Inhalt automatisch als Einzelwert zurückgegeben. Ein Rangeobjekt kannst du entweder über die Zelladresse ansprechen um sie mit .Range() zu ermitteln, oder auf der .Cells()-Auflistung durch angabe von Zeilen- und Spaltennummer. Steht in der Zelle ein Text, sind .Value- und .Text-Eigenschaft identisch. Bei formatierten Zahlen, gibt dir .Text den angezeigten Zellinhalt zurück und nicht den Inhalt selbst. .Value ist die Standardeigenschaft eines Rangeobjektes, so dass du ohne explizite Angabe von .Value den gleichen wert erhältst:
Code:
Dim txt As String
Dim val As String
txt = Worksheets("Tabelle2").Range("D4").Text
val = Worksheets("Tabelle3").Cells(2,4).Value
2. Das Verketten von Zeichenketten.
Zeichenketten in VBA sind vom Typ String. Strings lassen sich dabei über das kaufmännische und & verbinden. Dabei können sowohl String-Literale, Konstanten als auch Variablen mit ihrem Inhalt verbunden werden:
Code:
Debug.Print "Ich" & vbTab &"bin ein " & "zusammengesetzter String, der den Inhalt der Zelle D3 (" & txt & ") widergibt."
3. Speichern als PDF:
Zum Speichern als PDF verwendest du am einfachsten die .ExportAsFixedFormat-Methode.
4. Sicherstellen, das ein Pfad existiert:
Um sicherzustellen, dass ein Pfad existiert, kannst du entweder API-Funktionen nutzen (da bin ich zu schwach mit bewandert um zu helfen, aber volti wird da sicher auskunft zu geben können), oder du prüfst einfach selbst, ob der Ordner schon da ist. Weil du unterhalb der bestehenden Struktur jeweils nur einen Ordner anlegen musst, kannst du das entweder über ein simples Dir() mit anschließendem MkDir, ein forciertes MKDIR(), bei dem du Fehler einfach unterdrückst oder eleganter, weil reentrant, über das FileSystemObject lösen:
Code:
'A Dir und MkDir
If Dir(Wunschverzeichnis, vbDirectory) ="" Then MkDir(Wunschverzeichnis)
'b forciertes MkDir, Achtung: Fehlergrund wird ignoriert
On Error Resume Next
   MkDir(Wunschverzeichnis)
On Error GoTo 0
'c FSO
With CreateObject("Scripting.FileSystemObject")
   If Not .folderexists(Wunschverzeichnis) Then
      .createfolder Wunschverzeichnis
   End If

End With

Ich hoffe, das hilft dir fürs erste!
Viele Grüße
derHöpp
Antworten Top
#3
Herzlichen Dank soweit  28

Teste es am Abend mal aus..... denke jedoch nicht, dass ich damit klar kommen werde.
Das mit dem (Wunschverzeichnis....Angabe Speicherort?, oder Name?, oder etwas anderes?) verstehe ich nicht.

Besten Gruss
Antworten Top
#4
Hi,

Wunschverzeichnis ist der Ordner, in dem du speichern willst.

Viele Grüße
derHöpp
Antworten Top
#5
(09.12.2022, 10:30)derHoepp schrieb: Hi,

Wunschverzeichnis ist der Ordner, in dem du speichern willst.

Viele Grüße
derHöpp

…..aber in welchem Verzeichnis dieser Wunschordner liegt…. Ist wo?
Antworten Top
#6
Hallöchen,

eine Frage wäre, wo der ungefähr liegt.

Also, wäre das generell gleich unter C:\
z.B.
C:\Willi Bald\
C:\Otto Kar\

oder ist das irgendwo auf dem Laufwerk
z.B.
C:\Test\Willi Bald\
C:\Temp\Otto Kar\
C:\Irgend\Wo\Auf\Dem\LW\Gert Rut\

sodass Du den Pfad suchen musst?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
Genau…..auf dem Laufwerk, z.B.
C:/Doku/Lehrling/xxxx

Ort ist vorgegeben…..aber vor- u. Nachname aus Zellen für Ordner und PDF mit Namen drin speichern.

Sorry, wenn ich mich vielleicht nicht so klar ausdrücke.

Gruuz
Antworten Top
#8
Sodeli..... hab gebastelt und bin fast am Ziel...... der aktuelle Code:


Sub TESTEREI()
Dim Ordner As String, DateiName As String
   
Ordner = "C:\CLOUD\abcdef\Lernende\" + Sheets("Daten Lehrling").Range("e7") + " " + Sheets("Daten Lehrling").Range("e8")
Speichern = Ordner + Sheets("Daten Lehrling").Range("E35") + " - " + "Anmeldung Termin" + " - " + Format(Sheets("Anmeldung_Besuch Betrieb").Range("G25"), "DD. MMM. YYYY") + ".pdf"
     
If Dir(Ordner, vbDirectory) = "" Then MkDir (Ordner)

ActiveSheet.ExportAsFixedFormat Type:=x1TypePDF, Filename:=Ordner + Speichern, Quality:=xlQualityStandard, IncludeDocProperties:=True, OpenAfterPublish:=False

End Sub


....bis auf eines klappt soweit alles wunschgemäss:

--> Die Datei sollte IM neuen Ordner gespeichert werden, was aktuell noch nicht der Fall ist.

Weiss jemand warum, oder was ich falsch mache?

Danke und Gruess

Fehler gefunden:
Code NEU:



Sub TESTEREI()
   
    Dim Ordner As String, DateiName As String
   
    Ordner = "C:\CLOUD\abcdefghi\10 Lernende\" + Sheets("Daten Lehrling").Range("e7") + " " + Sheets("Daten Lehrling").Range("e8")
    Speichern = Ordner & "\" & Sheets("Daten Lehrling").Range("E35") + " - " + "Anmeldung Termin" + " - " + Format(Sheets("Anmeldung_Besuch Betrieb").Range("G25"), "DD. MMM. YYYY") + ".pdf"
     
If Dir(Ordner, vbDirectory) = "" Then MkDir (Ordner)


ActiveSheet.ExportAsFixedFormat Type:=x1TypePDF, Filename:=Speichern, Quality:=xlQualityStandard, IncludeDocProperties:=True, OpenAfterPublish:=False


End Sub



--> Wenn jemand noch eine Korrektur oder Verbesserung anbringen möchte?
Ansonsten schliesse ich als erledigt.

Danke und Gruss
Antworten Top
#9
Moin!
Es gibt kein x1TypePdf sondern xlTypePdf
Also L statt 1
Wenn Du als erste Zeile im Modul oberhalb der erstn Sub Option Explizit eingibst, fällt der Fehler beim Kompolieren auf.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#10
(11.12.2022, 12:31)RPP63 schrieb: Moin!
Es gibt kein x1TypePdf sondern xlTypePdf
Also L statt 1
Wenn Du als erste Zeile im Modul oberhalb der erstn Sub Option Explizit eingibst, fällt der Fehler beim Kompolieren auf.

Gruß Ralf

Schreibfehler gemacht, danke für den Hinweis.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste