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
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-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • raw90
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
Top


Gehe zu:


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