Περικλή,
αυτή η version της VB, είναι πιο γνωστή σαν VBA (Visual Basic for Applications). Εκτός από VB, θα πρέπει να μάθεις καλά το λεγόμενο
Word Object Model.
Υπάρχει μια ιεραρχία Objects-classes π.χ Application και Document. απλά πρέπει να δεις πως αυτά συνδέονται. το περιβάλλον VBA editor έχει και help και Intellisense που σε βοθηάει να δεις την ιεραρχία.
ένας καλός τρόπος για να μάθεις γρήγορα τα βασικά Objects είναι ο εξής.
Μπορείς να χρησιμοποιήσεις τον "macro recorder" και να κάνεις κάποια tasks στο word και μετά να κάνεις stop macro recording και πατώντας Alt+F11 να δεις τι VBA κώδικα (έφτυσε) ο Macro recorder.
βασικά εσύ θέλεις κάτι πολύ παραπλήσιο δεν θέλεις το "action" αλλά το αποτέλεσμα του action.
κινείσαι όμως με τα ίδια βήματα.
Παράδειγμα. π.χ "Ανοίξτε το αρχείο με όνομα διακοπές.doc και κάντε Βold-underline και color:red την πέμπτη λέξη."
1) Δημιούργησε ένα αρχείο word
2) Ονόμασε το "διακοπές.doc"
3) Αποθήκευσε το στην επιφάνεια εργασίας.
4) Μέσα στο έγγραφο αυτό γράψε το εξής "Μου αρέσουνε πολύ οι διακοπές."
5) Κάνε την λέξη διακοπές (Bold,underline,red)
6) Εσύ θέλεις να βρεις ότι όντως κάποιος το έκανε σωστά αυτό ή όχι.......
7) Πήγαινε σε περιβάλλον, VBA (alt+f11) από το διακοπές.doc
8) Κάνε insert ένα module και βάλε εκεί μέσα τον εξής κώδικα. Τρέξε τον κώδικα βήμα βήμα (F8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| Sub checkifwordformat()
Dim application As Word.application
Dim myworddoc As Document
Dim myrange As Range
Set myworddoc = GetObject("C:\Users\fofo\Desktop\äéáêïðÝò.doc")
Set myrange = myworddoc.Words(5)
If (myrange.Underline) <> 1 Or (myrange.bold) <> -1 Or (myrange.Font.Color) <> 255 Then
MsgBox "FAIL"
Else
MsgBox "SUCCESS"
End If
End Sub |
δεν κάνω κάτι φοβερό, απλά ελέγχω να δω τι έχει γίνει από τις μορφοποιήσεις και αντίστοιχα πράττω. εσύ απλά στο If, else if θα βάλεις τις ενέργειες που πρέπει να γίνουνε σύμφωνα με τα requirements. εγώ απλά έβαλα κάποια message boxes
ελπίζω να βοήθησα.
Νικόλαος Καντζέλης
BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT