1, codice VBA significato
Microsoft Word è un ambiente integrato di elaborazione Microsoft System parola di Stati Uniti, ma non è solo un sistema di elaborazione testi, che incorpora Microsoft Visual Basic, può essere programmato per ottenere un'estensione delle funzionalità di Word.
Microsoft Visual Basic in parola in codice che le macro di Word, scrivendo le macro di Word, che consente l'automazione di una serie di elaborazione di documenti, come ad esempio l'attuazione del documento di backup automatico, archiviazione, ecc, è possibile espandere le funzioni dei documenti di Word, in modo da fare pieno uso di Word, caratteristiche, o anche per fare Word una parte del loro software.
Parola di macro parte di entrambi i benefici, perché ci può aiutare a conseguire gli automation del il document, ma macro di Word non è purely beneficial, a volte danno may our documentation, sistemi o reti, a partire dall'inizio del Taiwan NO1 virus di macro Melissa virus macro per il presente, fin dall'inizio delle punte semplici che le risorse di sistema di drenaggio per l'attuale incautamente e-mail, le informazioni personali saranno inviate alla rete, anche sul disco rigido del Autoexec.bat (file auto-batch) Aggiungi Deltree C:-y, minare l'intero sistema di Windows.
In secondo luogo, Word nella tecnologia incorporata nel Com
COM può essere Word è il miglior supporto software, in modo che sembra un po 'troppo estrema, ma la Parola fornisce una potente tecnologia di interfaccia di programmazione ma possiamo essere programmato per qualsiasi parte della Parola. Se il file aperto, salvare su disco, stampare il modulo o documento nel disegno automatico.
Attraverso il software di programmazione, la flessibilità di manipolare parola, qui solo in Borland Delphi, per esempio, una descrizione dettagliata:
1, chiamare il Verbo nel software Delphi / metodi di documentazione
Chiamata in software Word Word, riassunta in tre modi:
. Delphi controllo TOleContainer inserendo Parola
A. I server utilizzano Delphi prevede il controllo di chiamata Word, utilizzare la proprietà di Word
b. attraverso la tecnologia reale Com software di file di Office nella directory MSWORD9.OLB nella libreria di tutti in Delphi, l'uso di tecniche di programmazione Com
c. Utilizzare CreateOleObject si avvia Word, Word Ole modo di controllare.
2, la facilità di diversi metodi di identificazione
a. controllo TOleContainer da Delphi per incorporare Word
Questo è il più semplice Ole incasso documenti di Word può essere direttamente invocata solo bisogno di usare ToleContainer.Run documenti di Word può essere avviato direttamente. Questo documento Word e avviare il processo di Delfi come uno svantaggio suo complesso (dal punto di vista dell'interfaccia), ma non vi è insormontabile, che Delphi non può controllare il documento di Word, Word anche non raggiungere lo scopo di manipolare flessibile.
b. usando il server Delphi fornire il controllo delle chiamate in Word, utilizzare la proprietà di Word
I server che usano il controllo di Delphi to manipolare il Verbo, il suggerimenti di programmazione Delphi per ottenere il codice, il tutto può ottenere un migliore controllo di Delfi sulla Parola, ma ci sono una serie di caratteristiche di Word non può essere messa in Delphi (per esempio, ho scritto VBA codice della macro). E la funzione sono stati raggiunti nel codice VBA è un parametro opzionale il Delphi deve essere aggiunto al momento della chiamata, in caso contrario, entrambi non può anche compilare. Word ha iniziato in questo modo con il programma Delphi in due form. Questo approccio solo come riferimento.
c. attraverso una tecnologia vera e propria Commissione di directory per software di Office in file di libreria MSWORD9.OLB tutti in Delphi, l'uso di tecniche di programmazione COM COM utilizzando la tecnologia reale per MsWord9.OLD file di libreria di importazione, e quindi utilizzare la tecnologia COM l'uso. Analogo uso generale del server di controllo di Delphi, leggermente superiore rispetto ai server dei problemi del controllo, il controllo server con gli stessi vantaggi e svantaggi.
d. Utilizzare CreateOleObject si avvia Word, Word Ole modo di controllare.
Questo approccio è utilizzato per chiamare via CreateOleObjects Word, di fatto o Ole, ma in questo modo è veramente completo controllo dei documenti di Word, Word è possibile utilizzare tutte le proprietà, compresa la preparazione del codice VBA macro stessa.
tecnologia COM e di controllo rispetto ai server e l'utilizzo di questo metodo può veramente Parola di diverse proprietà, e nel codice VBA per scrivere la propria base, proprio come il codice di default non ha bisogno di usare. Il modo per avviare Word e il processo di Delphi sono sotto due forme. Lo svantaggio è che il codice Delphi usando questo metodo non suggerisce che tutti richiedono la loro gestione proprio eccezioni, la preparazione, il tempo di preparazione può essere conoscenza più esplorativa.
3, Word Editor Macro
Parola in codice VBA può veramente realizzare l'editing, è possibile scrivere la forma, funzione.
Macro di Word Editor in modo: Strumenti - Macro - Visual Basic Editor, può entrare nel Visual Basic Editor interfaccia. Parola del interfaccia Visual Basic Editor di Visual Basic e un editor vero e proprio è sostanzialmente la stessa, non andando ad elaborare. Nel codice VBA, è possibile aggiungere utenti a un form, modulo, modulo di classe. Utenti forma, modulo, classe concetto del modulo e Visual Basic sono identici. Nota anche identico con Visual Basic.
Puoi cursore in forma di una subroutine in qualsiasi modulo, la stampa diretta "F5" per eseguire la subroutine corrente.
4, rassegna macro di Word
Word integrare pienamente modifica dei documenti e VB, per realizzare veramente l'automazione del documento. Utilizzare il programma Word, simile all'uso di Visual Basic, la differenza è nella Parola, in grado di eseguire una subroutine particolare direttamente, direttamente vedere il risultato, le macro di Word, può essere interpretato solo a correre, e Visual Basic, possono ora essere scritte in un vero codice macchina, la protezione del codice di parlare, dovrebbe essere possibile ridurre il numero di codice VBA di Word, soprattutto nel codice chiave.
le macro VBA, possono essere suddivisi in quattro tipi:
1, e lo stesso nome comando macro
[Successiva]
Se FileSave, FileOpen, se il codice VBA di Word contiene una funzione con lo stesso nome, è una diretta applicazione del codice VBA, ignorare proprio comando di Word.
2, all'interno della macro di Word specifico
Queste macro AutoExec contenere (avviare Word o caricare il modello globale), AutoNew (ogni nuovo documento), AutoOpen (ogni volta che si apre documenti esistenti) AutoClose (ogni volta che si chiude un documento) AutoExit (su Word o disinstallare il mondiale template).
Se il codice VBA che contiene il nome della funzione, la condizione corrispondente è soddisfatta, il codice corrispondente automaticamente.
3, gli eventi corrispondenti macro VBA
Queste macro sono macro attivate dagli eventi, come la chiusura del documento quando Document_Close attivare eventi, Document_New nel nuovo documento, quando attivato, Document_Open attiva quando si apre il documento.
4, indipendente dalla macro
Ho scritto il codice VBA che non appartiene ai casi sopra parecchi codice VBA, codice VBA può essere invocata da altri, più importanti, può essere invocata da altri programmi.
In questo modo, siamo in grado di respingere macro di Word automaticamente da Delphi chiamare direttamente la macro appropriate per conseguire i loro obiettivi.
5, parola d'ordine una descrizione dettagliata della macro
Parola stessa contiene un sacco di funzioni di comando, ma sia la Guida di Word o MSDN guida in linea, non do hanno questa descrizione, è can only prendere il loro esperimenti acquisto per esplorare la detection iniziale della funzione come segue:
Nota nome di macro spiegato
Nuovo FileNew
FileNewDefault Nuovo documento vuoto
FileSaveAs Salva
FileOpen apre
FileClose Chiudi
FilePrint Stampa
FileAnteprima Anteprima di stampa
ToolsCustomize all'interno di una barra degli strumenti personalizzata
ToolsOptions Opzioni dello strumento
ToolsRevisions evidenziato modifiche
ToolsReviewRevisions accettare o rifiutare le modifiche
ToolsRevisionMarksAccept accettare la nuova
ToolsRevisionMarksReject rifiutare le modifiche
Emendamento ToolsRevisionMarksToggle
ToolsMacro macro
Registra nuova macro ToolsRecordMacroToggle
ViewSecurity sicurezza
ViewVBCode visualizzare l'editor di VB ambiente
FileTemplates modelli e può aggiungere
ToolsProtectUnprotectDocument per sollevare la protezione del documento
InsertHyperlink Inserisci collegamento ipertestuale
EditHyperlink Modifica collegamento ipertestuale
DeleteHyperlink Rimuovi collegamento ipertestuale
vista EditLinks, eliminare il collegamento
EditPasteAsHyperlink incollare il collegamento ipertestuale
FormatStyle stile
EditBookMark Bookmarks
OleWord codice utilizzato quando il numero di impiegati
1, programma Delphi avvia Word
In CreateOleObjects per avviare Word, codice di chiamata VBA, e un processo specifico è:
Prima di utilizzare GetActiveOleObject (''''Word.Application) di giudicare se la memoria corrente esiste programma di Word, se esiste, è collegato direttamente, senza il programma Word, CreateOleObject uso (''Word.Application'') Avvio di Word
In secondo luogo, Delphi Nuovo programma Word presentazione
Formato: WordDocuments.Add (Template, NewTemplate, DocumentType, visibile)
Template: Utilizzare il nome del modello
NewTemplate: nuovo tipo di documento, True ha detto che come modello, False, ha detto che il documento
DocumentType: tipo di documento, il valore predefinito Documento vuoto
Visibile: la finestra è visibile salvataggio
Ad esempio: Doc_Handle: Word_Ole.Documents.Add = (Template: C ='':''Temlate.dot, NewTemplate = false);
3, programma Delphi per aprire la presentazione di Word
Formato: WordDocuments.Open (FileName, ConfirmConversions, ReadOnly, PassWordDocument,
PasswordTemplate, scongiurarlo, WritePasswordDocument, WritePassWordTemplate,
Formato di codifica, visibile)
FileName: nome del documento (comprese percorso)
[Successiva]
ConfirmConversions: si visualizza la finestra di dialogo Conversione file
ReadOnly: se per aprire il documento di sola lettura
AddToRecentFiles: se aggiungere file al menu "File" in fondo l'elenco dei file utilizzati di recente
PassWordDocument: Aprire questo documento password richiesta
PasswordTemplate: Aprire questo modello password richiesta
Revert: Se il documento è stato, sia di ri-aprire il documento
WritePasswordDocument: Salvare il documento per modificare la password quando necessario
WritePasswordTemplate: Salva le modifiche al modello la password necessaria
Formato: Aprire il documento utilizzando il convertitore di file necessario
Encoding: l'uso della pagina di codice del documento
Visibile: Aprire la finestra del documento è visibile
Per esempio:
Doc_Handle: = Word_Ole.Documents.open (FileName: = Doc_File, ReadOnly: = False,
AddToRecentFiles: = false);
4, programma Delphi salvare presentazione Word
Formato: WordDocuments.SaveAs (FileName, formato file, LockComments, Password,
AddToRecentFiles, WritePassword, ReadOnlyRecommended,
EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData,
SaveAsAOCELetter)
FileName: il nome del file. Il valore predefinito è la cartella corrente e il nome file.
Salva il documento formato file formato.
LockComments Se Vero, questo documento permette solo commenti.
Password di apertura documento password.
AddToRecentFiles Se Vero, il documento sarà aggiungere al menu "File" in più di recente utilizzato elenco documenti.
WritePassword apportare modifiche ai documenti richiesti password.
ReadOnlyRecommended Se Vero, ogni volta che si apre un documento, Word si consiglia ai clienti di sola lettura.
EmbedTrueTypeFonts Se Vero, il documento verrà salvato con i font TrueType.
SaveNativePictureFormat Se Vero, da piattaforme di sistema (ad esempio Macintosh) per importare le immagini di preservare la versione Windows.
SaveFormsData Se true, il modulo sarà iscritto dai dati utente salvati come record di dati.
SaveAsAOCELetter Se il documento contiene un ulteriore, se il valore della proprietà è True quando il documento salvato come un elemento decorativo AOCE (e salvare il messaggio).
Per esempio:
Word_Ole.Documents.SaveAs (FileName: = Doc_File, formato file = wdFormatDocument,
AddToRecentFiles = false);
In quinto luogo, leggere il file dal database sul disco rigido locale e leggere i file dal disco rigido locale alla banca dati
Immagine usata nel database di archiviazione binario campo, utilizzare l'approccio del flusso Stream.
Creare un flusso di file:
Word_FileStream: = TFileStream.Create (nome_destinazione, fmOpenWrite o fmCreate);
Word_FileStream.Position: = 0;
Immagine salvata ai campi di database:
TBlobField (AdoQuery1.FieldByName (column_name)). SaveToStream (Word_FileStream);
Leggi dal database di file su un disco rigido locale:
TBlobField (ADOQuery1.FieldByName (column_name)). LoadfromStream (Word_FileStream);
Free file di flusso:
Word_FileStream.Free;
6, la definizione di notizie a livello mondiale
Poiché la parola e Delphi sono due programmi software, le comunicazioni tra l'altro troppi problemi, in modo da utilizzare il metodo delle notizie a livello mondiale. messaggio globale è prima necessario registrarsi, Windows restituisce il numero di messaggio di sistema è inattivo, quando la registrazione dello stesso messaggio, il sistema Windows restituisce lo stesso valore, garantendo così l'uso del numero del messaggio nella comunicazione tra le due procedure.
Approccio alla definizione di notizie:
szMessageString: PChar =''XIDIAN_11_Stone'';
FMyJoinMessage: = RegisterWindowMessage (szMessageString);
Invia un messaggio significa:
SendMessage (maniglia a vicenda, messaggi, messaggi brevi con messaggi di lunghezza variabile variabile)
7, metodo Delphi di ricezione di messaggi di processo
Delphi a ricevere messaggi sia a ignorare un messaggio specifico, la seconda è la funzione di superamento WndProc, in cui selezionare il trattamento appropriato messaggio.
Act 1, si può trattare solo con un messaggio, e il metodo 2 è in grado di gestire contemporaneamente più messaggi.
Per il metodo 2, la seguente dichiarazione:
procedura WndProc (Messaggio var: Tmessage); override
Deve essere sottolineato che quando viene utilizzato nel trattamento finito con il suo messaggio di successione WndProc (Messaggio) funzione, altrimenti il sistema collasserà!
8, la Parola di creazione dinamica di finestre di dialogo e Combo Cambia evento
La creazione di modulo di classe Combohander, la definizione di eventi in-house
Public WithEvents ComboBoxEvent Come Office.CommandBarComboBox
Definizione moduli di controllo Combo generano eventi
ctlComboBoxHandler Dim As New ComboBoxHandler
Combo generato dialogo
Set Cbo_ChooseDoc = CommandBars ("add menù"). Controls.Add (Type: = msoControlComboBox, Temporary: = True)
Per gli handle di file impostato per produrre eventi Combo_Change
Set ctlComboBoxHandler.ComboBoxEvent = Cbo_ChooseDoc
Prodotto dopo l'incidente, all'interno del modulo Combohander classe scegliere l'evento Change ComboBoxEvent, è possibile scrivere codice di evento
Sub ComboBoxEvent_Change (Ctrl ByVal Come Office.CommandBarComboBox)
9, una serie di eventi di Word
Parola di codice VBA Gestione degli eventi: Document_Close
eventi di applicazione deve essere affrontato sono: DocumentBeforeClose, DocumentChange.
Document_Close: Evento generato quando il documento evento chiudere
DocumentBeforeClose: il documento viene chiuso prima che il primo giudice nel documento di Word viene salvato, dato il prompt del caso, e trattate di conseguenza.
DocumentChange: interruttore del documento, le modifiche nel documento dalla sua presentazione e altri modificati per passare da una presentazione ha generato l'evento, riguardanti principalmente l'impostazione di autorizzazioni dei documenti, ecc