Macro to insert an endnote and an EndNote X7 citation

Anonymous
2014-07-17T19:24:44+00:00

I am working on a 200-300 page book using EndNote x7 and Chicago endnotes formatting style. My Notes will be at the end of the book, not at end of a page or chapter. The process works fine but is not productive. For example, if I am editing the document and need to add a new citation on page 3, I do the following:

  1. Insert footnote/endnote on the page I am editing, say page 3
  2. Insert selected citation at end of document
  3. Scroll back to page 3 to continue editing.

What I propose to do is create a macro that has three parts: 

1. Prior to inserting a footnote, insert a bookmark named TEMP

  1. Insert the selected citation using Word/Tools/EndNote7/Insert selected citation
  2. Edit/Find/Goto/TEMP

I created the macro, but I cannot get it to work. Is what I am trying to do reasonable and doable? It seems simple, but....

Microsoft 365 and Office | Word | For home | Windows

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments
Answer accepted by question author
Anonymous
2016-01-03T19:22:44+00:00

Everything is working exactly as it should. Thanks so much for the assistance. Here are the changes I made:

A. Updated Word to 15.17.1

B. Changes suggested by Thomson Reuters support as follows:

  1. Quit Word.
  2. Browse to this folder on your computer: “Hard Drive Name]/Library/Application Support/Microsoft/ Office365/User Content/Startup/Word.” The folders name may vary depending on your system.
  3. Delete the “EndNote CWYW Word 2016.bundle” file if it is still present.
  4. Hold down the "option" key on your keyboard and go to the "Go" Menu and choose "Library". Go to Users:[your login name with the house icon]:Library:Application Support:EndNote.
  5. Delete “EndNote Cwyw Commands.dotm” and “EndNote Online Cwyw Commands.dotm” if present.
  6. Start the EndNote X7 Mac Beta 2. Please verify this is beta 2 by going to the EndNote menu and selecting About EndNote. The version should read “EndNote X7.5p2 (Bld 10976).
  7. Go to the EndNote menu and select "Customizer."
  8. Check the box in front of the "Cite While You Write" option. Click next until the Customizer is finished.
  9. Open a library in the EndNote X7.5 Beta.
  10. Open Word 2016 and check the Ribbon for EndNote X7.

I also rename the Applescript from Option+Control+f to Option+Command+f.

Rich, thanks very much for your great efforts in developing the macro and Applescript. This solution is a nice productivity booster for anyone writing long documents such as books or dissertations.

Was this answer helpful?

0 comments No comments
Answer accepted by question author
Anonymous
2015-12-18T23:19:50+00:00

The issue is this piece of code:

 'since the VBA SendKeys command does not work in Office 2011 I had to resort to AppleScript

    Dim MyScript As String

    MyScript = MyScript & "tell application ""System Events""" & Chr(13)

        MyScript = MyScript & "keystroke ""f""" & " using (option down, command down)" & Chr(13)

        'I assigned a custom keystroke to Option+Control+e that would insert a test AutoText

        'If EndNote X7 overrides that built-in keystroke maybe it will work as you desire

        MyScript = MyScript & "delay 0.1" & Chr(13)

    MyScript = MyScript & "end tell" & Chr(13)

    ActiveDocument.Activate

    MacScript (MyScript) 'this executes the above MacScript

Under the new "sandboxing" rules of Apple if you want to be in their store with your "APP" you have to play by their ever changing hedonistic rules. Microsoft has decided to be their BITC@!

As I said previously, I can't take this on right now, in fact I'm only visiting the forum when I need a distraction from what is turning out to be a full time job trying to make Office 2016 for the Mac VBA work for everyone by reporting issues I'm finding directly to the product team. Right now I don't think I'm one of the more popular MVP's in their address book. :-)

What is required to get this working is someone to investigate AppleScriptTask, and figure out how to write and install the script into your machine and then interface it with this VBA code.

And no Dr. John, you never did send me a free copy of your book and I'm not about to pay for one, so... :-)

Was this answer helpful?

0 comments No comments

50 additional answers

Sort by: Most helpful
  1. Anonymous
    2014-07-18T09:27:53+00:00

    I don't use EndNote X7 so I can't really tell you if EndNote X7 content can by accessed via VBA. A brief look online shows that some people have used AppleScript to access it directly but I didn't find any postings on interfacing it with VBA.

    From your description it sounds like EndNote X7 places some menu controls on Word's Tool menu. AppleScript can be used to automate the selection of menu bar items, but it is wickedly slow in performance. If you look on the Developer tab under Macros, do you see any EndNote X7 VBA subroutines listed there? If you do and if you can figure out which one(s) are the Tools menu controls you could then call those special routines from your VBA code.

    A phone call to the developers of EndNote X7 might also get you closer to the answer you seek.

    Was this answer helpful?

    0 comments No comments
  2. Anonymous
    2014-07-17T22:07:46+00:00

    I did discover that double-clicking the endnote or using cmd-opt-z will get me back to the insertion point. However, my goal is to automate from insertion to completion and end up at insertion point all with one macro (and keyboard shortcut to it). Sometimes I will do 25-35 citations at a time and every little bit of finger savings counts. I tried the new macros from Rich. They both work. If I could combine them with the actual citation insertion in between, it would be great. Perhaps the EndNote X7 integration with Word gets in the way. The entire step 2 process of inserting the citation could be done with keyboard commands in Word. They would be Tools - EndNote X7 - Insert selection citations. Could also be done by Tools down1 right1 down2. Is there a way to incorporate that?

    Was this answer helpful?

    0 comments No comments
  3. Anonymous
    2014-07-17T21:40:13+00:00

    As Bob has pointed out if the objective is to simply return to the insertion point you can click the endnote number. However, if there are others tasks you are trying to accomplish with EndNote7 then the following code might help you.

    One problem with your original code is that setting of the "EndnoteOptions" properties must be set at the document level and not the selection level. EndnoteOptions properties are "Read Only" when referenced from a Selection command. That is why your code would error out. Additionally, you cannot return to the insertion point with the "Selection.GoTo..." command until you have finished inserting/editing the endnote.

    Hope this helps

    Sub InsertEndNote()

        With ActiveDocument.Endnotes

            .Location = wdEndOfDocument

            .NumberingRule = wdRestartContinuous

            .StartingNumber = 1

            .NumberStyle = wdNoteNumberStyleArabic

        End With

        Word.Selection.Collapse Word.WdCollapseDirection.wdCollapseEnd

        ActiveDocument.Bookmarks.Add "MyEndNoteBmk", Word.Selection.Range

        Word.Selection.Endnotes.Add Word.Selection.Range, Reference:=""

        'add code to automatically insert the EndNote7 citation? Then you can... Call ReturnFromEndNote

        'or if you are typing the citation you'll need to execute separately the ReturnFromEndNote routine or

        'simply click on the endnote number and forget about adding a return bookmark

    End Sub

    Sub ReturnFromEndNote()

        Word.Selection.Collapse Word.WdCollapseDirection.wdCollapseEnd

        Word.Selection.GoTo What:=Word.WdGoToItem.wdGoToBookmark, Name:="MyEndNoteBmk"

        Word.Selection.Collapse Word.WdCollapseDirection.wdCollapseEnd

        If ActiveDocument.Bookmarks.Exists("myEndNoteBmk") Then ActiveDocument.Bookmarks.Item("MyEndNoteBmk").Delete

    End Sub

    Was this answer helpful?

    0 comments No comments