Yayıncılarımız için sayfayı biçimlendirmek üzere yayınladığımız bir makalesüz. Bu makroyu kullanan birkaç belge var. Daha küçük belgeler için makro hatasız çalışır, daha büyük belgeler için bu iş parçacığının konu satırında hata alırız.Word makro hatası - Çalışma Zamanı Hatası 4608, Uzakta ara değer
Küçük belgesi - < = 256KB
Büyük belgesi - Ben kelimenin bunları açık ve elle bir sorun olmadan ayarlarını yapabilirsiniz hata var belgeler için> = 500KB
. Başaramadım belgeyi varsa ve gerekirse bunu sağlayacak, VS 2012.
Kelime 2010:
Burada makro
Function pagestuffB() As String
'
' Format for Publisher
'
'
Dim rv As String
rv = ""
On Error GoTo ErrorHndlr:
With Application
.Options.Pagination = False
.ScreenUpdating = False
With .ActiveDocument.PageSetup
.PaperSize = wdPaperLetter
' .PageWidth = InchesToPoints(8.5)
' .PageHeight = InchesToPoints(11)
.Orientation = wdOrientPortrait
.MirrorMargins = True 'ERROR HERE
.TopMargin = InchesToPoints(1.34)
.HeaderDistance = InchesToPoints(0.98)
.BottomMargin = InchesToPoints(1)
.FooterDistance = InchesToPoints(0.8)
.LeftMargin = InchesToPoints(1.61)
.RightMargin = InchesToPoints(1.4)
.Gutter = InchesToPoints(0)
.SectionStart = wdSectionContinuous
.OddAndEvenPagesHeaderFooter = True
.DifferentFirstPageHeaderFooter = True
.LineNumbering.Active = False
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
End With
pagestuffB = rv
Exit Function
ErrorHndlr:
If rv = "" Then
rv = "Macro error " & Err.Number
Select Case Err.Number
Case Else
End Select
End If
Resume Next
End Function
Sürüm bilgisi ikinci versiyonu.
DÜZENLEME: belgelerdir here
Bu iki belgeleri, en küçük iki biçimlendirmek için 0,5 saat sürdü .... aslında ishal makro, son sürümü, ancak, yukarıdaki bağlantıda.
Function pagestuffB() As String
'
' Format for Publisher
'
'
Dim rv As String
rv = ""
On Error GoTo ErrorHndlr:
With Application
.Options.Pagination = False
.ScreenUpdating = False
.WindowState = wdWindowStateMinimize
End With
Dim oSec As Section
For Each oSec In Selection.Sections
With oSec.PageSetup
.Orientation = wdOrientPortrait 'moved per macropod
.PaperSize = wdPaperLetter
.MirrorMargins = True
.TopMargin = InchesToPoints(1.34)
.HeaderDistance = InchesToPoints(0.98)
.BottomMargin = InchesToPoints(1)
.FooterDistance = InchesToPoints(0.8)
.LeftMargin = InchesToPoints(1.61)
.RightMargin = InchesToPoints(1.4)
.Gutter = InchesToPoints(0)
.SectionStart = wdSectionContinuous
.OddAndEvenPagesHeaderFooter = True
.DifferentFirstPageHeaderFooter = True
.LineNumbering.Active = False
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
Next oSec
pagestuffB = rv
Exit Function
ErrorHndlr:
If rv = "" Then
rv = "Macro error " & Err.Number
Select Case Err.Number
Case Else
End Select
End If
Resume Next
End Function
Sadece bir tahminde bulunun - bunu bir İşlev yerine bir Sub'de yapmayı deneyin. – xidgel
Orijinal olarak, Açık hata öğelerinin hiçbiri olmadan yapıldı. Bu hatayı aşağılamak için eklendi. İşlev böylece Interop kullanabilir ve bir VS uygulamasından çalıştırabilir. – dbasnett
Başarısız olan belgelerin birden çok bölümü var mı? – Comintern