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

Export Filenmae aus Worksheet

Export Filenmae aus Worksheet
25.01.2018 08:48:40
Josi
Hallo liebe VBA-Profis,
ich habe ein Makro geschrieben welches mir ermöglicht ein Bild auszuwählen dies in einen Ordner zu kopieren und einen Hyperlink zu dem Bild in dem Ordner erstellt. Ich möchte jetzt das Bild nach einigen Parametern aus meinem Worksheet benennen, leider funktioniert das gar nicht! So wie es benannt werden soll ist es jetzt bei .Export Filename drin.
Sub BildHochladendirekteUrsache()
Dim Speicherordner As String
Dim Filename As String
Speicherordner = "W:\Dokumente\Format\20_Störungen\40_Digitale Liste offener Punkte dLOP\ _
10_Blistermaschine\" & "LOP " & Range("D5").Value & "-" & Range("B9").Value & "0" & Range("D9"). _
_
Value & "-" & Range("G9").Value
'Bild öffnen
Application.Dialogs(xlDialogInsertPicture).Show , arg1:="C:\TEMP"
'Ordner erstellen
If Dir(Speicherordner, vbDirectory) = "" Then
MkDir (Speicherordner)
'MsgBox "Ordner wurde angelegt!"
Else
'MsgBox "Ordner ist vorhanden!"
End If
'Bild einfügen
Dim myChart As Chart, myChartObject As ChartObject
Dim int_with As Integer, int_hight As Integer
Application.ScreenUpdating = True
Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
int_with = Selection.Width - Selection.Width / 100 * 8
int_hight = Selection.Height - Selection.Height / 100 * 8
Set myChart = Charts.Add
Set myChartObject = ActiveChart.ChartObjects.Add(0, 0, int_with, int_hight)
With myChartObject.Chart
.Paste
'.Export Filename:=ActiveWorkbook.Path & "\zwischenablage.jpg", FilterName:="JPG",  _
Ineractive:=False
.Export Filename:=Speicherordner & "\03_Bild direkte Ursache1.jpg" & "LOP " & Range("D5" _
_
_
).Value & "-" & Range("B9").Value & "0" & Range("D9").Value & "-" & Range("G9").Value,  _
FilterName:="JPG", Interactive:=False
End With
Application.DisplayAlerts = False
myChart.Delete
Application.DisplayAlerts = True
Set myChart = Nothing
Set myChartObject = Nothing
Application.ScreenUpdating = True
' Hyperlink Makro
'ActiveCell.FormulaR1C1 = "Bild"
Range("D27").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
Speicherordner & "\03_Bild direkte Ursache1.jpg" _
, TextToDisplay:="Bild direkte Ursache"
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Export Filenmae aus Worksheet
25.01.2018 09:16:00
Ralf
Hi Josi,
oben im Code, belegst Du die Variable Speicherort mit:
Speicherordner = "W:\Dokumente\Format\20_Störungen\40_Digitale Liste offener Punkte dLOP\ _
10_Blistermaschine\" & "LOP " & Range("D5").Value & "-" & Range("B9").Value & "0" & Range("D9").Value & "-" & Range("G9").Value
Das sind, ohne zu wissen was jetzt in den angegebenen Ranges steht, schon mal ca. 180 Zeichen.
Weiter unten sagst Du:
.Export Filename:=Speicherordner
...also den ganzen, ellenlangen Pfad der Variablen Speicherordner plus
& "\03_Bild direkte Ursache1.jpg" & "LOP " & Range("D5").Value & "-" & Range("B9").Value & "0" & Range("D9").Value & "-" & Range("G9").Value
Ich habe keine Ahnung, ob das so gewollt ist, dass die ganzen Ranges nochmal aufgeführt werden. Da ich aber in Unkenntnis der Werte der Ranges wieder nur schätzen kann, kommst Du auf so ca. 300 Zeichen.
Die Pfadangabe darf aber 255 Zeichen nicht überschreiten.
Ausnahme: http://winfuture.de/news,92538.html
Überprüf das mal bei Dir.
Anzeige
AW: Export Filenmae aus Worksheet
25.01.2018 09:19:07
Ralf
Hi Josi,
oben im Code, belegst Du die Variable Speicherort mit:
Speicherordner = "W:\Dokumente\Format\20_Störungen\40_Digitale Liste offener Punkte dLOP\ _
10_Blistermaschine\" & "LOP " & Range("D5").Value & "-" & Range("B9").Value & "0" & Range("D9").Value & "-" & Range("G9").Value
Das sind, ohne zu wissen was jetzt in den angegebenen Ranges steht, schon mal ca. 180 Zeichen.
Weiter unten sagst Du:
.Export Filename:=Speicherordner
...also den ganzen, ellenlangen Pfad der Variablen Speicherordner plus
& "\03_Bild direkte Ursache1.jpg" & "LOP " & Range("D5").Value & "-" & Range("B9").Value & "0" & Range("D9").Value & "-" & Range("G9").Value
Ich habe keine Ahnung, ob das so gewollt ist, dass die ganzen Ranges nochmal aufgeführt werden. Da ich aber in Unkenntnis der Werte der Ranges wieder nur schätzen kann, kommst Du auf so ca. 300 Zeichen.
Die Pfadangabe darf aber 255 Zeichen nicht überschreiten.
Ausnahme: http://winfuture.de/news,92538.html
Überprüf das mal bei Dir.
Ich vermute aber, dass der 2. Teil nicht gewollt ist, und Du nur
.Export Filename:=Speicherordner & "\03_Bild direkte Ursache1.jpg",FilterName:="JPG",  _
Interactive:=False
schreiben woltest...
Anzeige
AW: Export Filenmae aus Worksheet
25.01.2018 11:21:50
Josi
Hallo Anton (oder Ralf? :-D)
da hast du wohl recht das mit dem Maximalzeichen macht Sinn, habe jetzt den Variablen Teil des Pfades "ausgelagert" leider funktionier es immer noch nicht, vielleicht findest du den Fehler:
Sub BildHochladendirekteUrsache()
Dim Speicherordner As String
Dim Name As String
Speicherordner = "W:\Dokumente\Format\20_Störungen\40_Digitale Liste offener Punkte dLOP\10_Blistermaschine\" & "LOP " & Range("D5").Value & "-" & Range("B9").Value & "0" & Range("D9").Value & "-" & Range("G9").Value
Name = "LOP " & Range("D5").Value & "-" & Range("B9").Value & "0" & Range("D9").Value & "-" & Range("G9").Value
'Bild öffnen
Application.Dialogs(xlDialogInsertPicture).Show , arg1:="C:\TEMP"
'Ordner erstellen
If Dir(Speicherordner, vbDirectory) = "" Then
MkDir (Speicherordner)
'MsgBox "Ordner wurde angelegt!"
Else
'MsgBox "Ordner ist vorhanden!"
End If
'Bild einfügen
Dim myChart As Chart, myChartObject As ChartObject
Dim int_with As Integer, int_hight As Integer
Application.ScreenUpdating = True
Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
int_with = Selection.Width - Selection.Width / 100 * 8
int_hight = Selection.Height - Selection.Height / 100 * 8
Set myChart = Charts.Add
Set myChartObject = ActiveChart.ChartObjects.Add(0, 0, int_with, int_hight)
With myChartObject.Chart
.Paste
'.Export Filename:=ActiveWorkbook.Path & "\zwischenablage.jpg", FilterName:="JPG", Ineractive:=False
.Export Filename:=Speicherordner & "\03_direkte Ursache1\" & Name & ".jpg", FilterName:="JPG", Interactive:=False
End With
Application.DisplayAlerts = False
myChart.Delete
Application.DisplayAlerts = True
Set myChart = Nothing
Set myChartObject = Nothing
Application.ScreenUpdating = True
' Hyperlink Makro
'ActiveCell.FormulaR1C1 = "Bild"
Range("D27").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
Speicherordner & "\03_Bild direkte Ursache1.jpg" _
, TextToDisplay:="Bild direkte Ursache"
Anzeige
AW: Export Filenmae aus Worksheet
25.01.2018 11:44:38
Ralf
...bevor ich hier herumrätseln muss, lass Dir doch mal die Angaben ausgeben.
Msgbox Speicherordner & "\03_direkte Ursache1\" & Name & ".jpg" & vbcrlf & VBA.Len(Speicherordner & "\03_direkte Ursache1\" & Name & ".jpg")
oder mit
debug.print Speicherordner & "\03_direkte Ursache1\" & Name & ".jpg", vba.len(Speicherordner & "\03_direkte Ursache1\" & Name & ".jpg")
Was erhältst Du denn da für Werte?

96 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige