Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


XLSX Öffnen
#1
Hallo Community,

Ich habe folgenden Code und möchte darin Daten aus einer .xlsx in eine PowerPoint übernehmen. 

Kann ich es so einrichten, dass hier die einzige .xlsx Datei im Ordner, in dem sich auch die PowerPoint befindet geöffnet wird, statt vorher den Namen zu definieren? Hat den Hintergrund, dass der Name der .xlsx ständig geändert wird und das Skript nicht angepasst werden muss. 

Sub Refresh22()
Dim i As Integer
Dim a As Integer

i = 2
a = 15

Set Ex = CreateObject("Excel.Application")
Ex.Workbooks.Open FileName:="C:\01\PPP Makro\TEST.xlsx", ReadOnly:=True 'Hier soll statt der TEST.xlsx die einzige .xlsx Datei im Ordner geöffnet werden, unanhängig des Namens
Do
Wert = Ex.Workbooks("TEST.xlsx").Sheets(1).Cells((a), 18)
If Wert = "" Then Exit Do
Wert = Ex.Workbooks("TEST.xlsx").Sheets(1).Cells((a), 18)
ActivePresentation.Slides(6).Shapes(i).TextFrame.TextRange.Text = "" & Wert & ""
a = a + 1
i = i + 1

Loop


End Sub
Zitatantwort to top
#2
Hallöchen,

Du könntest mit dem Dir-Befehl den kompletten Namen ermitteln. Eventuell geht das sogar in einem Rutsch
Ex.Workbooks.Open FileName:="C:\01\PPP Makro\" & Dir("C:\01\PPP Makro\*.xlsx"),
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
[-] Folgende(r) 1 Benutzer sagt Danke an schauan für diesen Beitrag:
raw90
Zitatantwort to top
#3
Noch ein kürzere Rutsch:

Code:
With getobject("C:\01\PPP Makro\" & dir("C:\01\PPP Makro\*.xl"))
  sn=.sheets(1).cells(15,18).resize(.sheets(1).columns(18).specialcells(2).count)
  .close 0
end with

for j=1 to ubound(sn)
   ActivePresentation.Slides(6).Shapes(j).textframe.textrange.text=sn(j,1)
next
Zitatantwort to top


Gehe zu:


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