Volledige padnamen in Word

Wanneer u een document in Word te openen, wordt de bestandsnaam voor het document weergegeven in de titelbalk. Op sommige momenten, zou het leuk zijn om meer dan een eenvoudige bestandsnaam in de titelbalk wordt weergegeven zijn. Veel lezers kunnen profiteren van een manier om een ​​volledige naam van het pad weer te geven, samen met de bestandsnaam in de titelbalk. Helaas, Woord niet een manier om dit gemakkelijk doen. (Immers, hoe moeilijk zou het zijn om een ​​selectievakje voor deze optie zijn onder andere?)

Er zijn een paar manieren waarop dit kan worden benaderd. Als u alleen om het volledige pad naam eens in een tijdje weten, dan kunt u een zeer eenvoudige macro te maken en toewijzen aan een knop op de werkbalk. Wanneer u klikt op de knop, wordt de informatie in de titelbalk van het actieve venster veranderd om de volledige naam van het pad weer te geven. Deze macro, genaamd ChangeCaption, is als volgt:

Sub ChangeCaption ()
ActiveWindow.Caption = ActiveDocument.FullName
End Sub

Nogmaals, deze macro is ideaal voor incidenteel gebruik. Indien u wenst, kunt u ook deze macro als AutoOpen hernoemen, en dan alle documenten, wanneer deze wordt geopend, zal de volledige naam van het pad weer te geven. Er zijn een paar grote nadelen aan deze optie, echter. Wanneer u het document een andere naam geven met behulp van Opslaan als om het op te slaan onder een andere naam, worden de nieuwe bestandsnaam (en het pad) niet bijgewerkt in de titelbalk, tenzij u de macro opnieuw uitvoeren. Ten tweede, als je antivirussoftware ingeschakeld, dan kan het uw macro (toegewezen aan AutoOpen) te interpreteren als een poging van een macro virus te knoeien met uw systeem.

Er is een manier om een ​​meer uitgebreide en automatische aanpak te creëren. Om Word aanpassen om de volledige padnaam omvatten, moet het type interface dat door Woord te begrijpen. Het woord is een multiple document interface (MDI) applicatie. Dit betekent dat het hoofdvenster van het programma (voor Word) is de moedermaatschappij van het programma en dit venster kan document vensters (kind ramen) voor elk geopend document bevatten. Wanneer een document venster is gemaximaliseerd, de titelbalk van Word toont een combinatie van de applicatie titel (Microsoft Word) en de naam van het document bestand. Als documenten worden weergegeven in een gedeeltelijke scherm of geminimaliseerd, dan is het bovenliggende venster wordt alleen de naam van de toepassing (Microsoft Word) en elk kind venster toont de titel van het document in dat venster. Dus, alles wat moet worden veranderd is het kind venster titelbalk om het pad met de bestandsnaam bevatten.

De integrale aanpak is gebaseerd op het gebruik van Word applicatie evenementen. In wezen zijn de stappen in de verwezenlijking van dit benadering zijn:

  1. Opgezet Woord te triggeren applicatie gebeurtenissen (ze zijn ingebouwd in Word, maar ze niet automatisch gebeuren).
  2. Schrijf wat de eigenlijke titel-bar wisselende code voor de DocumentChange evenement.

De DocumentChange evenement, ooit opgezet, gebeurt bijna elke keer dat de gebruiker een kind (document) venster activeert. U zult merken Ik zei "bijna." Dit komt omdat het evenement niet wordt geactiveerd als het kind venster is een duplicaat venster naar een geopend document (bijvoorbeeld het raam krijgt men bij het kiezen van een nieuw venster in het menu Venster). Dit is in feite twee weergaven van hetzelfde document, dus er is geen document verandering bij het overschakelen van het ene oog op de andere. Bijgevolg, als een document is geopend en de gebruiker een nieuw venster opent naar hetzelfde document, het zal niet automatisch het is titelbalk veranderd door de code uit te voeren vanaf de DocumentChange evenement. Het zal later worden gewijzigd indien en wanneer de gebruiker wijzigingen in deze 'nieuw venster' uitzicht vanuit een ander kind venster met een ander document, echter.

Het tweede probleem is dat de DocumentChange evenement ook niet krijgen geactiveerd wanneer een nieuw document wordt opgeslagen. Dus, als een niet-opgeslagen document (zoals Document1, document2, enz.) Wordt opgeslagen, de titelbalk verandert niet totdat de focus afstand wordt genomen van de nieuw opgeslagen bestand en dan terug gegeven. Gelukkig, dit kan omzeild worden.

De eerste stap is dan het Woord toepassingsgebeurtenissen activeren. U kunt dit doen door de volgende stappen. (De voorbeelden zijn niet op de WordTips CD-ROM. Zij kunnen echter gemakkelijk door de stappen beschreven.)

  1. Start Word en alle geopende documenten sluit.
  2. Druk op ALT + F11 om de Visual Basic Editor te starten. De titelbalk van de editor moeten zeggen: "Microsoft Visual Basic - Normaal." Dit betekent dat u bezig bent met het sjabloon Normal project.
  3. Kies Class Module in het menu Invoegen. Dit voegt een klasse module aan het project, meestal genaamd Class1, Class2, etc.
  4. Met behulp van het venster Properties (linker benedenhoek van de Editor), verandert de naam van de nieuwe klasse module te AppEvents.
  5. In de Editor venster, typ of plak de volgende:

    Option Explicit
    'Verklaar een globale variabele object naar de vertegenwoordigen
    'Word Application-object voor toegang tot Application events
    Openbare WithEvents WordApp Zoals Word.Application
    Private Sub WordApp_DocumentChange ()
    'De procedure die zal automatisch worden uitgevoerd wanneer
    'De DocumentChange gebeurtenis wordt geactiveerd
    Oproep MyModule.WindowTitleWithPath
    End Sub

    Met deze stichting in de plaats, bent u klaar om ervoor te zorgen dat de WordApp object wordt geregistreerd wanneer Word wordt gestart. De manier om dit te doen is het opzetten van een zelfstartende macro die telkens Word wordt gestart automatisch wordt uitgevoerd. U kunt dit doen door de volgende stappen:

  6. Kies Module in het menu Invoegen. Dit voegt een regelmatige module aan het project, meestal genaamd Module1, Module2, etc.
  7. Met behulp van het venster Properties (linker benedenhoek van de Editor), verandert de naam van de nieuwe module te MyModule. (U kunt een andere naam te gebruiken, indien gewenst. Als je dat doet de naam wijzigen, dan moet je ook veranderen de MyModule verwijzing in stap 5, hierboven.)
  8. In de Editor venster, typ of plak de volgende:

    Option Explicit
    'Stel een instantie van AppEvents klaar om toegang te krijgen gebeurtenissen Applicatie's
    Openbare cAppEvents Als Nieuw AppEvents

    Public Sub AutoExec ()
    'Automatisch loopt wanneer Word wordt gestart
    'Initialiseer de WordApp object in AppEvents klasse
    'Instelling het aan de Word.Application object gelijk
    Stel cAppEvents.WordApp = Word.Application
    End Sub

    Public Sub WindowTitleWithPath ()
    'Wijzigingen venster titel pad met de bestandsnaam bevatten
    "Controleer of er geen kind ramen open (vermijd fout als geen actieve venster)
    Als Windows.Count> 0 Then
    'Van het venster bijschrift wijzigen
    ActiveWindow.Caption = ActiveDocument.FullName
    End If
    End Sub

    Het laatste deel van het maken van dit maatwerk naar Word is ervoor te zorgen dat de titelbalk wordt bijgewerkt wanneer u uw bestand op te slaan. U doet dit door het vervangen (met macro) de ingebouwde FileSave en FileSaveAs commando's. U kunt dat doen door het toevoegen van de volgende code om de MyModule module:

    Public Sub FileSave ()
    'Vervangt de ingebouwde FileSave commando
    'Controleer of pad lege string
    Als ActiveDocument.Path = "" Dan
    'Als nieuw document nog niet is opgeslagen, noemen FileSaveAs
    Oproep FileSaveAs
    Anders
    'Bestaande document is reeds op de harde schijf; gewoon opslaan
    ActiveDocument.Save
    End If
    End Sub

    Public Sub FileSaveAs ()
    'Vervangt ingebouwde FileSaveAs commando
    'Gebruik de methode Show voor de ingebouwde FileSaveAs dialoogvenster
    Dialogen (wdDialogFileSaveAs) .Show
    'Nu lopen de code om het venster titel te wijzigen
    Bel WindowTitleWithPath
    End Sub

    Wanneer deze macro's al zijn ingevoerd, moet u Word afsluiten en opnieuw starten. De titel bars moeten allemaal worden bijgewerkt om het volledige pad namen.

    WordTips is uw bron voor kosteneffectieve Microsoft Word training. (Microsoft Word is de meest populaire tekstverwerker in de wereld.) Deze tip (1248) is van toepassing op Microsoft Word 97, 2000, 2002, en 2003.


© 2019 Quilcedacarvers.com | Contact us: webmaster# quilcedacarvers.com