Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Friedrichroda /
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
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
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
to top


Gehe zu:


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