// spyros

Ο παρακάτω κώδικας της VBA μπορεί να χρησιμοποιηθεί ως μακροεντολή για να μορφοποιήσει όλους τους πίνακες (και όχι το κείμενο εκτός πινάκων) με:

  • αυτόματη προσαρμογή στο περιεχόμενο
  • χωρίς σκίαση
  • χρώμα γραμματοσειράς μαύρο
  • ερώτηση για το μέγεθος της γραμματοσειράς

Προέκυψε από ανάγκη για γρήγορη μορφοποίηση των πινάκων από κείμενο που έκανα αντιγραφή από ιστοσελίδες και επικόλληση στο word, γιατί θα πρέπει κανείς να επιλέγει κάθε ένα πίνακα ξεχωριστά και να εφαρμόζει κάθε φορά τις αλλαγές που θέλει.

Sub AllTablesAutoFit1()
'
' επιλογή όλων των πινάκων και: αυτόματη προσαρμογή στο περιεχόμενο, χωρίς σκίαση, με χρωμα γραμματοσειράς μαύρο, ερωτηση για το μέγεθος γραμματοσειρας
Dim i As Integer, str As String str = InputBox("Πληκτρολογείστε το μέγεθος γραμματοσειράς (αριθμός)", "Μέγεθος γραμματοσειράς", 12)
If Not IsNumeric(str) Then MsgBox "Δεν εισάγατε αριθμό!", vbExclamation, "Λάθος μέγεθος γραμματοσειράς" Exit Sub End If
For i = 1 To ActiveDocument.Tables.Count
With ActiveDocument.Tables(i) .Select 'δεν απαιτειται για τον πινακα, απαιτειται για τη γραμματοσειρα Selection.Font.ColorIndex = wdBlack Selection.Font.Size = str Selection.Collapse (wdCollapseEnd) 'αποεπιλογη Direction:=wdCollapseEnd .AutoFitBehavior (wdAutoFitContent) .AutoFitBehavior (wdAutoFitContent) .Shading.Texture = wdTextureNone .Shading.ForegroundPatternColor = wdColorAutomatic .Shading.BackgroundPatternColor = wdColorAutomatic End With
Next
End Sub

 

Για τη δημιουργία μακροεντολής:

  • Word 2013: Προβολή → Μακροεντολή → Δημιουργία
  • Word 2003: Εργαλεία → Μακροεντολή → Δημιουργία