Skip to main content

AccessTr.neT


Excel'den Belli Bir Klasördeki Tüm Word Dosyalarının Sayfa Yapısını Değiştirmek

Excel'den Belli Bir Klasördeki Tüm Word Dosyalarının Sayfa Yapısını Değiştirmek

Çözüldü #1
Şu kod ile Excel içinde listesi bulunan belli bir klasördeki word dosyalarının sayfa yapılarını değiştiriyorum. Kod bu haliyle ilk dosyayı değiştiriyor, dosyayı ve word'ü kapatıyor, ikinci dosyayı açınca ".PageWidth = CentimetersToPoints(9)" satırında takılıyor. "AppWord.Quit" kodunu devre dışı bırakırsam tüm dosyalarda gereğini yapıyor ama dosya sayısı çok fazla olduğundan her dosya başına bir word uygulaması açık kaldığından belli bir noktadan sonra bellek yetmiyor.
Nerde hata yapıyorum acaba?

Kod:
Option Explicit
Dim Dosya As String

Sub word_sayfa_yapisi()
Dim s As Long
Dim DosyaSay As Long
DosyaSay = WorksheetFunction.CountA(Range("a2:a2000"))
For s = 1 To DosyaSay
Dosya = Range("A" & 1 + s).Value
SetupPage (Dosya)
        Dosya = ""
    Application.CutCopyMode = False
    Next s
   Range("A1").Select
   Application.CutCopyMode = False
End Sub

Sub SetupPage(Dosya As String)
Dim AppWord As Word.Application
    Set AppWord = CreateObject("Word.Application")
    AppWord.Documents.Open Dosya
    AppWord.Visible = True
    With AppWord.ActiveDocument.PageSetup
        .PageWidth = CentimetersToPoints(9)
        .PageHeight = CentimetersToPoints(29.7)
        .TopMargin = CentimetersToPoints(0.6)
        .BottomMargin = CentimetersToPoints(0.6)
        .LeftMargin = CentimetersToPoints(0.6)
        .RightMargin = CentimetersToPoints(0.6)
    End With
    AppWord.ActiveDocument.Save
    AppWord.ActiveDocument.Close
    AppWord.Quit
    Set AppWord = Nothing
End Sub

Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Excel'den Belli Bir Klasördeki Tüm Word Dosyalarının Sayfa Yapısını Değiştirmek - Yazar: ras.sag - 17/12/2022, 22:01
Task