5

I am having some trouble with Microsoft Office tools, I want to permanently remove the author name from all future created documents.

Word, Excel, etc, keep pulling my computer login username (Lets say JCTechie) and adding it to the author field. Even when I go into Options>Personalize>username and created a blank or false name, it doesn't take effect. It always shows as (JCTechie) when right clicking the .doc or .xlxs file- details- author. Is there a way to stop automatically adding the author or to change it to a blank space/ no entry? I know I can inspect the document and remove all data, but it's tedious to do for every document I create, especially if I were to forget to do it.

I'm using Office 2013 locally, not signed in to a Microsoft account.

7
  • 1
    What do you have under Options -> General -> User name? Jan 16, 2019 at 20:39
  • Are you sure you're looking at the document metadata "author" and not the file system file "owner"?
    – Debra
    Jan 17, 2019 at 8:32
  • I have a single space currently, but when I try to change it to Joe Smith it has no effect @cybernetic.nomad
    – JCTechie
    Jan 17, 2019 at 15:53
  • 1
    Can you toggle: File > Options > Trust Center > Privacy Options > "Remove personal information from properties on save" checkbox. If using a corporate machine this option may be disabled for attribution purposes. Let me know where this leaves you.
    – sadtank
    Jan 24, 2019 at 2:10
  • 1
    The OS's file system keeps track of who "owns" the file, which is separate from metadata within the file itself; it's usually the last account that saved the file. You can see this in Windows File Explorer by viewing Details, then right-clicking the column headers, choosing "More..." and then selecting Owner so the file-system owner will display as a column. In Windows 10 file Properties for most MS Office files, the Author is under the "Origin" section while the Owner is under the "File" section at the bottom. And owner will change when someone saves the file on their own system.
    – Debra
    Feb 1, 2019 at 16:04

2 Answers 2

1

I can think of one solution, which involves a VBA macro, so is limited to Office document formats which allow macros, such as .docm, .doc or .xlsm. The solution is more complete for Word files than for PowerPoint.

The VBA macro for Word, added in the VBA Editor that is opened using Alt+F11:

Sub AutoClose()
    If ActiveDocument.Saved = False Then
        Dim oProp As DocumentProperty
        On Error Resume Next
        For Each oProp In ActiveDocument.BuiltInDocumentProperties
            oProp.Value = ""
        Next oProp
        Application.UserName = "x"
        ActiveDocument.Save
    End If
End Sub

To explain, this macro executes on close of the document. It deletes all built-in properties and sets the "Last saved by" property to x, since deleting this property doesn't work and only results in using the logged-in account name.

The macro is only invoked if the document was modified, and does the save, incidentally suppressing the dialog of "Save, Don't Save or Cancel" (which can be added-in easily enough).

If the macro is added to any document, it will work for this document only. To make it work for all Word documents, add it to the templates of normal.dot or normal.dotm.

References:

This mechanism of template does not exist for Excel spreadsheets. For Excel, one is obliged to add the macro individually to every .xlsm file. The macro name is also a bit different: Auto_Close instead of AutoClose.

For reference, see for example the article Run Macro When Excel Closes – Auto_Close.

0
1

I am on Office 2016, and putting blank or removing everything (from username/ initial fields) works and sticks across close and re-open of all documents, and is carried from excel to word and from word to excel.

If putting space is not working, you can try putting some non-visible character, like Alt-127 or Alt-255 (from num keyboard, that is ascii code for delete) or any other such character like unicode ZERO WIDTH SPACE hex 200B, decimal 8203 or ZERO WIDTH NON JOINER zwnj 0wnj hex 200C, decimal 8204 or ZERO WIDTH JOINER zwj 0wj hex 200D, decimal 8205. For unicode char write the decimal code, select that, press alt-x

Thanks.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.