- Büyük bir sunumum var (~ 300 slayt) Ve bunların her biri farklı excel dosyasına bağlı birkaç sürümü yapmam gerekiyor. Prestations içindeki tüm şekiller için bağlantıları değiştiren bir kodum var. Grafikler için hepsi iyi, ancak bağlantılı tablolar ile ilgili sorun var. Kaynak değişikliği doğrudur, ancak bu değişim aralığı sırasında tablo yayılımları için (aralık A1 sayfa hücre A1 için ayarlanır). Aralığın değişmemesi için bir yol var mı?
- Ek soru: tablo kaynağını değiştirmek çok hızlıdır (< 1s), ancak bağlantılı tablo kaynağının değiştirilmesi biraz zaman alır (~ 15s). Bu çok tablo var bir sorun haline gelir. Kod çalıştırdığımda, bir seferde ~ 50 slaytlar iyi gitti (~ 5-10 dakika sürdü), ama 30 dakika bekledim ~ 300 slaytta çalıştırmayı denediğimde ve bitmedi (yok olmadı frozed gibi görünüyordu). Bu sorunun neden oluştuğunu gerçekten merak ediyorum.
Okulöncesi öğretmenlerinin kodu:Excel'e bağlı güç noktası tabloları - Kaynak (VBA) nasıl değiştirilir?
Sub UpdateLinks()
Dim ExcelFile
Dim exl As Object
Set exl = CreateObject("Excel.Application")
'Open a dialog box to promt for the new source file.
ExcelFile = exl.Application.GetOpenFilename(, , "Select Excel File")
Dim i As Integer
Dim k As Integer
'Go through every slide
For i = 1 To ActivePresentation.Slides.Count
With ActivePresentation.Slides(i)
'Go through every shape on every slide
For k = 1 To .Shapes.Count
'Turn of error checking s that it doesn 't crash if the current shape doesn't already have a link
On Error Resume Next
'Set the source to be the same as teh file chosen in the opening dialog box
.Shapes(k).LinkFormat.SourceFullName = ExcelFile
If .Shapes(k).LinkFormat.SourceFullName = ExcelFile Then
'If the change was successful then also set it to update automatically
.Shapes(k).LinkFormat.AutoUpdate = ppUpdateOptionAutomatic 'other option is ppUpdateOptionManual/ppUpdateOptionAutomatic
End If
On Error GoTo 0
Next k
End With
Next i
End Sub
Tüm ipuçları bekliyoruz! :)
Bunu düşündüm ve bunu metin fonksiyonlarını kullanarak yapmaya çalıştım. Hala işe yaramadı ama kodda aptalca bir hata yapabilirdim. Değiştir'i kullanmak çok daha kolay. Deneyeceğim. Yardım için teşekkürler! – Cudny
Yardımcı olması durumunda, PPTFAQ sitemde benzer bir şey yapan bazı kodlar var: Toplu Arama ve Köprüler için Değiştir, OLE bağlantıları, film bağlantıları ve ses bağlantıları http://www.pptfaq.com/FAQ00773_Batch_Search_and_Replace_for_Hyperlinks-_OLE_links -_movie_links_and_sound_links.htm –