Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1400to1404
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

Machbarkeit?

Machbarkeit?
16.01.2015 20:31:17
Laser
Hallo Leute,
Ich wollte mal Fragen ob sowas überhaupt machbar ist.
Ich habe mitlerweile gemerkt mit VBA kann man sehr viel machen, nur weiss ich nicht ob sowas überhaubt realisier bar ist was mir im Kopf herumschwirt.
Ich muss immer wieder PDF dateien in einen Ordner speichern dann mache ich ein Hyperlink im excel zu dieser Datei. Das ist recht aufwendig. Nun meine Idee, ist das machbar das man z.B.: ein Textfeld (oder anderes Feld) hat wo man die PDF Datei per Drag and Drop auf dem Feld losläst.
Dann sollte man den Dateinamen eingeben können wie die Datei abgespeichert wird zur auswahl sollten dann 2 Fixe Ordner zum abspeichern sein. Den Dateinamen sollte man dann per klick in eine ausgewählte Zelle eingetragen werden. Dann würde es mir den Hyperlink automatisch generieren dafür habe ich schon eine lösung gefunden.
Nur ist sowas überhaup machbar, oder habt ihr andere vorschläge wie man das Speichern umbennen der Dateien und Dateinamen eintragen in zellen realisieren könnte.
Danke für eure Hilfe
mfg
Laser

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Machbarkeit?
16.01.2015 22:32:00
Oberschlumpf
Hi #Name?!
Ich glaub, mit Drag & Drop wirds nich funktionieren.
Aber du könntest es so versuchen:
1. Man klickt erst mal immer wieder in ein und dieselbe Zelle, z Bsp A1
2. Nach Klick in A1 öffnet sich ein Datei-Auswahl-Fenster
3. In diesem Auswahl-Fenster wählst du erst das Verzeichnis aus, in dem sich deine PDF-Datei(en) befindet, und dann wählst ddu die PDF-Datei aus und klickst auf OK oder wie auch immer der Button heißt
(jetzt weiß der VBA-Code, um welche Datei es sich handelt, wo sie gespeichert ist, usw)
4. Sobald sich das Auswahl-Fenster geschlossen hat, öffnet sich ein Userform, welches per Optionbutton die zwei von dir vorgegebenen Speicherverzeichnisse anzeigt - du kannst nur einen dieser zwei Einträge auswählen.
Zusätzlich gibt es ein Textfeld, in das du den Dateinamen einträgst, mit dem die Datei gespeichert werden soll.
...mit Klick auf OK bestätigst du deine Auswahl, das Userform wird geschlossen
5. Jetzt kommt die Auswahl der Zelle, in die der Dateiname + Hyperlink eingetragen werden soll.
Entweder so, wie du es geschrieben hast; du klickst eine beliebige Zelle an, es erscheint eine Ja/Nein-Abfrage, ob wirklich in diese Zelle der Dateiname+HL eingetragen werden soll.
Wenn ja, dann trägt der VBA-Code Dateiname + HL in diese Zelle ein
...für die nächste Zelle beginnst du wieder bei Punkt 1
Oder es wird automatisch eine Zelle ausgewählt, z Bsp ab Zelle A3 fortlaufend. Das heißt, in A3 wird automatisch "dein" Dateiname + Hyperlink eingetragen. Wenn du nun wieder bei 1. beginnst, wird der "Wunschdateiname" + Hyperlink für die nächste, ausgewählte PDF-Datei in Zelle A4 eingetragen...usw
Wäre das ne Idee, die dich weiterbringt?
Ciao
Thorsten

Anzeige
AW: Machbarkeit?
16.01.2015 23:17:16
Laser
Hallo Thorsten
Das klingt nicht so schlecht, mit dem könnte ich auch leben.
Die Dateien liegen immer im gleichen Sammelordner, somit könnte ich die verzeichniss auswahl vordefinieren.
Bei Punkt 5 mit ja/nein Abfragen das ist perfekt, es müsste nur den Dateinamen eintragen Hyperlink lasse ich in einer anderen zelle automatisch generieren da ich ein makro habe der mir immer Prüft ob die Dateien noch im Ordner liegen wo der hyperlink verweisst.
Jetzt müsste es mir nur noch die Datei wo wir am anfang ausgesucht haben nach dem kopieren löschen
Funktioniert sowas?
Ich muss sagen das mit der datei auswahl und optionsfeldern ist mir zu hoch, Userformen erstellen und so das kann ich. Hast du mir einen Code bezüglich den punkten 1-5 oder ein Thema wo sowas schon mal gemacht wurde das ich vielleicht mal probieren und testen kann.
Wäre über jede Hilfe Dankbar
mfg
Jürgen

Anzeige
AW: Machbarkeit?
17.01.2015 02:19:34
Oberschlumpf
Hi Jürgen
a) ich glaub, du hast einen Denkfehler, oder deine Beschreibung müsste falsch sein.
Du schreibst:
Bei Punkt 5 mit ja/nein Abfragen das ist perfekt, es müsste nur den Dateinamen eintragen Hyperlink lasse ich in einer anderen zelle automatisch generieren da ich ein makro habe der mir immer Prüft ob die Dateien noch im Ordner liegen wo der hyperlink verweisst.
- der Hyperlink setzt sich zusammen aus dem Dateinamen, den du in eine Zelle schreibst UND aus dem Speicherpfad, den du vorgibst
Die Datei wird also neu in einem anderen Verzeichnis gespeichert.
Meine Frage:
Wieso willst du einen Hyperlink überprüfen, wo du doch weißt, dass die Datei vorhanden ist, da du sie ja per Code gerad dort gespeichert hast, wohin der Hyperlink verweist?
b) nur du weißt genau, wie deine Datei schon aussieht.
Zeig sie mir bitte mal per Upload.
Denn wenn ich einfach so loslege, ist die Gefahr groß, dass von dir Wünsche kommen können, wie "kann man das nicht da und da hin machen"....usw
Wenn du mir vorher die datei zeigst, weiß ich, wohin du was haben willst.
Wenn du noch gar keine Datei hast, erstell bitte eine und zeig sie mir.
Ciao erst mal
Thorsten

Anzeige
AW: Machbarkeit?
17.01.2015 09:13:14
Laser
Hallo Thorsten
wenn du die Datei anschaust dann weisst du warum ich den hyperlink an einer anderen stelle mache.
Ich hab mal 2 tabellenblätter herauskopiert aus der arbeitsmappe wo ich den code bräuchte.
sind eigentlich identische Tabellen nur der unterschied das es unterschiedliche Artikel gruppen sind.
In Spalte AA stehen die Speicherpfade auf die sollte sich der Code beziehen, fals die Datei mal verschoben wird oder der Ordner der Dateien, kann man das per Stammdateneingabe ändern. Ich hab das eingebaut da ich oft von Zuhause aus arbeite, dann war das fein, schnell die Pfade anpassen und alles funktionierte ohne Probleme.
AA8= Hauptpfad der Datei, drin liegen alle anderen Ordner
AA14= Downloadordner Pfad wo die PDFs reingelegt werden um sie später zuzuordnen
AA9= Beschläge Ordner Dort werden die Beschläge Dateien abgelegt wo der Hyperlink verweisst
AA10= Montageanleitungen Ordner Dort werden die Montageanleitungen Dateien abgelegt wo der Hyperlink verweisst
Spalte Q und S müssten per auswahl die Dateinamen eingetragen werden
Ich hoffe ich konnte es halbwegs verständlich erklären.
Hier der Link der Datei
https://www.dropbox.com/s/xl7mk6yw4003fpp/Mappe1.xls?dl=0
mfg
Jürgen

Anzeige
oha!...ich weiß leider nicht weiter...
17.01.2015 10:56:48
Oberschlumpf
Hi Jürgen
Da kann ich doch nicht helfen leider.
Jetzt, wo ich die Datei kenne, merk ich, dass ich da leider nicht durchsteige.
Für mich zu komplex.
Aufgefallen ist mir, es gibt ja einen Button für ne neue PDF.
Aber leider fehlt das Makro dazu. Was ich meine...öffne du mal die Bsp-Datei und klick mit rechter Maustaste auf irgdeinen Button.
Zumindest bei mir kommt der Eintrag (Bsp neue PDF-Datei)
Gruppierung105_BeiKlick
Aber ein Makro mit dem Titel gibt es in der Datei nicht...genau so, wie für jeden anderen Button.
Kleine Tipps für die Zukunft:
- funktionieren die Bsp-Dateien auch?
- ist jeder notwendige Code vorhanden?
- am besten gleich bei der ersten Frage ne Bsp-Datei hinzufügen
(hätte ich die Datei gleich sofort gesehen, hätt ich gar nicht erst geantwortet)
Wünsche dir aber viel Glück, dass hofftl wer anders helfen kann.
Ciao
Thorsten

Anzeige
AW: oha!...ich weiß leider nicht weiter...
17.01.2015 13:46:39
Laser
Hallo Thorsten
ich hab nur die tabellen aus meiner hauptdatei kopiert wusste nicht das du die codes Brauchst.
Den Button mit neue PDF-Datei habe ich nur erstellt damit ich dann den neuen code dann damit auslöse, im moment ist nichts hinterlegt.
Schade das du mir da nicht weiterhelfen kannst.
Eigentlich ist sie nicht viel komplexer als du beschrieben hast.
Ich werde mal versuchen mich schlau zu machen, mit welchen codes ich mal anfangen kann das zu realisieren, vielleicht schaffe ich es ja mir was zusammenzubasteln. Vielleicht kann mir ja dann der eine odere andere tips bei fehlern geben.
Danke aber für Deine Mühe das du es veruchen wolltest.
mfg
Jürgen

Anzeige
AW: oha!...ich weiß leider nicht weiter...
18.01.2015 09:33:08
Laser
Hallo Thorsten
Ich hab den Code fast fertig.
Ich hab die Dateiauswahl hinbekommen
Userform erstellt
Die Optionsfelder funktionieren
Dateieingabefeld funktioniert
allerdings habe ich beim speichern der Datei ein Problem das klappt nicht, bringt dauernd ein fehler. Laufzeitfehler 424 keine ahnung was ich dort noch machen soll. wenn ich VarDatei davor mache (ausgewählte datei) gehts auch nicht.
Den Dateinamen inkl. Endung in eine ausgewählte Zelle schreiben da fehlt mir komplett der Lösungsansatz.
Hier mal die BSP Datei
https://www.dropbox.com/s/8mw8wcdzwjjs9v3/Neue%20PDF%20hinzuf%C3%BCgen.xls?dl=0
Und der Code
Private Sub CommandButton1_Click()
If TextBox1 = "" Then           '

Private Sub UserForm_Activate()
Dim varDatei As Variant
ChDrive Range("ab8")
ChDir Range("ab14")
varDatei = Application.GetOpenFilename("PDF-Dateien (*.pdf), *.pdf") '("Alle-Dateien (*.*),* _
.*,", MultiSelect:=True)
If varDatei = False Then
MsgBox "Dateiauswahl abgebrochen.", vbInformation
UserForm1.Hide
Else
TextBox2.Text = CStr(varDatei)  '
Ich hoffe Du oder jemand andere kann mir hierbei helfen
Danke
mfg
Jürgen

Anzeige
AW: oha!...ich weiß leider nicht weiter...
18.01.2015 09:57:59
Oberschlumpf
Hi Jürgen
Erst mal super, dass du das bis hierhin hinbekommen hast!
Ändere diese Zeile

SaveAs.pfadname

um in

FileCopy TextBox2.Text, pfadname

So wird von der Datei nur eine neue Kopie im vorgegenen Verzeichnis mit neuem Dateinamen erstellt.
Mehr Infos zu FileCopy findest du in der Excel-Hilfe.
Hilfts?
Ciao
Thorsten

AW: oha!...ich weiß leider nicht weiter...
18.01.2015 17:49:00
Laser
Hallo Thorsten
Danke ja bin jetzt schon ein paar Stunden dran aber langsam werde ich fertig :-)
Hier der Link zur Datei :-)
https://www.dropbox.com/s/8mw8wcdzwjjs9v3/Neue%20PDF%20hinzuf%C3%BCgen.xls?dl=0
Das mit deinem Code hat super geholfen jetzt speichert er.
das mit der Datei löschen habe ich auch geschaft und das er den text aus der Textbox1 und Dateiendung in eine zelle kopiert Klappt nun auch perfekt.
Nun geht es noch an 1-2 kleinigkeiten :-)
1. ich möchte das er vorher kontroliert ob der eingegebene dateiname schon im Speicherort existiert wenn ja dann MSGBOX
2. wie kann ich nur den orginal Dateiname in einer Testbox3 angeben? im moment zeigt er mir ja den ganzen Pfad mit Dateiname an in der Textbox2 an.
Private Sub CommandButton3_Click()
Dim varDatei As Variant
ChDrive Range("ab8")
ChDir Range("ab14")
varDatei = Application.GetOpenFilename("PDF-Dateien (*.pdf), *.pdf") '("Alle-Dateien (*.*),* _
.*,", MultiSelect:=True)
If varDatei = False Then
MsgBox "Dateiauswahl abgebrochen.", vbInformation
UserForm1.Hide
Else
TextBox2.Text = CStr(varDatei)  '

Private Sub CommandButton1_Click()
If TextBox1 = "" Then           '

Anzeige
Habs geschaft
18.01.2015 18:42:02
Laser
Hallo Thorsten
Habs geschaft
Anzeigen vom Dateinamen
TextBox3.Value = Mid$(varDatei, 1 + InStrRev(varDatei, "\"), Len(varDatei))
Kontrolle ob Datei vorhanden
dateiname = TextBox1.Text
pfadname = Pfad & "\" & dateiname & Dateiendung
If Len(Dir(pfadname)) > 0 Then
' Datei vorhanden -> rückfrage
i = MsgBox("Datei bereits vorhanden, überschreiben?", vbYesNo)
Exit Sub
If i = 6 Then
FileCopy TextBox2.Text, pfadname
UserForm1.Hide
End If
If i = 7 Then
Exit Sub
End If
Else
' Datei nicht vorhanden -> gleich speichern
FileCopy TextBox2.Text, pfadname
UserForm1.Hide
End If
Danke für die Hilfe
Jetzt bin ich entlich fertig :-)
mfg
Jürgen
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige