Community
    • Login

    Running a macro on all the open docs ?.

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    51 Posts 4 Posters 1.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Alan KilbornA
      Alan Kilborn @Robert Or Janet Diebel
      last edited by

      @Robert-Or-Janet-Diebel said in Running a macro on all the open docs ?.:

      Plugins :
      mimeTools (3.1)
      NppConverter (4.6)
      NppExport (0.4)
      I am starting again now with a uninstall/re-install.

      There isn’t even a PythonScript in the list.

      I think we’re being trolled.

      1 Reply Last reply Reply Quote 1
      • PeterJonesP
        PeterJones @Robert Or Janet Diebel
        last edited by

        @Robert-Or-Janet-Diebel said in Running a macro on all the open docs ?.:

        To tell you what version I am using is difficult since I have spend most of today uninstalling and reinstalling versions of Python, PythonScript and Notpad++. tried 3.0.22 as well.

        Once you’ve realized that you don’t know what you’re doing, and have asked for help, it’s a good idea to follow the advice given, so that you can make use of the help that people have given you.

        As @Alan-Kilborn says, the Debug Info you showed didn’t include any PythonScript. The whole point of my asking for the Debug Info was so that I could try to replicate the exact setup you had when you were getting the error. But you apparently don’t want help.

        I am starting again now with a uninstall/re-install.

        Completely unnecessary, and a waste of your time.

        I will send you the outcome when done.

        Since you’re not trying what I suggested, nor giving me the information necessary to help you, I find it highly unlikely that you’re going to get any different outcome.

        As I said, until you are willing to actually give all the information I asked for in my previous post, I cannot help you. Hopefully that conclusion that you’re a trolling is wrong – but the only way you could prove otherwise at this point would be to finally follow all the steps that you’ve been asked to, reporting back on exact conditions that cause the problem.

        Robert Or Janet DiebelR 2 Replies Last reply Reply Quote 1
        • Robert Or Janet DiebelR
          Robert Or Janet Diebel @PeterJones
          last edited by

          @PeterJones I do not know what is ment by being trolled, but it sounds dishonest, which I am not.
          I am sorry to have bothered you.
          I will continue going over the help you have provided hoping to figure out what I am doing wrong.
          Thanx again.

          1 Reply Last reply Reply Quote 0
          • Alan KilbornA
            Alan Kilborn @Alan Kilborn
            last edited by

            @Alan-Kilborn said earlier:

            … think it is a bug in the PythonScript plugin.
            Stay tuned, more detail to come…

            Here’s the PS bug report: https://github.com/bruderstein/PythonScript/issues/382

            Robert Or Janet DiebelR 6 Replies Last reply Reply Quote 0
            • Robert Or Janet DiebelR
              Robert Or Janet Diebel @Alan Kilborn
              last edited by PeterJones

              @Alan-Kilborn,

              My latest attempt.

              # encoding=utf-8
              """in response to https://community.notepad-plus-plus.org/topic/21663/
              Run a macro on each open file
              """
              from Npp import notepad
              
              # store active tab in each View
              keepBufferID = notepad.getCurrentBufferID()
              docIndexes = [notepad.getCurrentDocIndex(v) for v in range(2)]
              
              for filename, bufferID, index, view in notepad.getFiles():
                 notepad.activateBufferID(bufferID)
                 notepad.runMenuCommand("Macro", "\c2Book\v2Verse")
              
              # restore active tab in each View
              for v in range(2):
                 notepad.activateIndex(v, docIndexes[v])
              notepad.activateBufferID(keepBufferID)
              
              Notepad++ v8.7.5   (64-bit)
              Build time : Dec 21 2024 - 05:13:03
              Path : C:\Program Files\Notepad++\notepad++.exe
              Command Line : 
              Admin mode : OFF
              Local Conf mode : OFF
              Cloud Config : OFF
              Periodic Backup : ON
              Placeholders : OFF
              DirectWrite : ON
              Multi-instance Mode : monoInst
              File Status Auto-Detection : cdEnabledNew (for current file/tab only)
              Dark Mode : OFF
              OS Name : Windows 10 Home (64-bit)
              OS Version : 22H2
              OS Build : 19045.5679
              Current ANSI codepage : 1252
              Plugins : 
                 mimeTools (3.1)
                 NppConverter (4.6)
                 NppExport (0.4)
                 PythonScript (2)
              
              
              Python 2.7.18 (v2.7.18:8d21aa21f2, Apr 20 2020, 13:25:05) [MSC v.1500 64 bit (AMD64)]
              Initialisation took 62ms
              Ready.
              Traceback (most recent call last):
               File "C:\Users\jrdie\AppData\Roaming\Notepad++\plugins\Config\PythonScript\scripts\MACROonALL.py", line 17, in <module>
                 notepad.activateIndex(v, docIndexes[v])
              OverflowError: Python int too large to convert to C long
              
              

              –
              moderator fixed your markdown. You have successfully done the text boxes before, so you know how to make it work. please pay more attention in the future.

              1 Reply Last reply Reply Quote 0
              • Robert Or Janet DiebelR Robert Or Janet Diebel referenced this topic on
              • Robert Or Janet DiebelR
                Robert Or Janet Diebel @Alan Kilborn
                last edited by Robert Or Janet Diebel

                @Alan-Kilborn running PythonScript 2 I can at least get an error in the console.
                Running PythonScript 3 it comes up incompatible.
                I tried Notepad++ 8.7.5, and 8.7.9.

                1 Reply Last reply Reply Quote 0
                • Robert Or Janet DiebelR
                  Robert Or Janet Diebel @Alan Kilborn
                  last edited by PeterJones

                  @Alan-Kilborn

                  Notepad++ v8.7.9   (64-bit)
                  Build time : Mar 26 2025 - 03:20:28
                  Scintilla/Lexilla included : 5.5.5/5.4.3
                  Boost Regex included : 1_85
                  Path : C:\Program Files\Notepad++\notepad++.exe
                  Command Line : 
                  Admin mode : OFF
                  Local Conf mode : OFF
                  Cloud Config : OFF
                  Periodic Backup : ON
                  Placeholders : OFF
                  Scintilla Rendering Mode : SC_TECHNOLOGY_DIRECTWRITE (1)
                  Multi-instance Mode : monoInst
                  File Status Auto-Detection : cdEnabledNew (for current file/tab only)
                  Dark Mode : OFF
                  OS Name : Windows 10 Home (64-bit)
                  OS Version : 22H2
                  OS Build : 19045.5679
                  Current ANSI codepage : 1252
                  Plugins : 
                      mimeTools (3.1)
                      NppConverter (4.6)
                      NppExport (0.4)
                  
                  

                  –
                  moderator fixed your markdown. you used to get the text boxes right; why have you stopped?

                  1 Reply Last reply Reply Quote 0
                  • Robert Or Janet DiebelR
                    Robert Or Janet Diebel @Alan Kilborn
                    last edited by

                    @Alan-Kilborn My MACRO:

                    <?xml version="1.0" encoding="UTF-8" ?>
                    <NotepadPlus>
                        <InternalCommands />
                        <Macros>
                            <Macro name="Trim Trailing Space and Save" Ctrl="no" Alt="yes" Shift="yes" Key="83">
                                <Action type="2" message="0" wParam="42024" lParam="0" sParam="" />
                                <Action type="2" message="0" wParam="41006" lParam="0" sParam="" />
                            </Macro>
                            <Macro name="\c2Book\v2Verse" Ctrl="no" Alt="no" Shift="no" Key="0">
                                <Action type="2" message="0" wParam="42083" lParam="0" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="(?-s)^\\c (\d+)(?=(.*\R)+?\\toc2 (.+)$)" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="${3} ${1}" />
                                <Action type="3" message="1702" wParam="0" lParam="512" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="(?-is)\\v (?=(?s:.+?^(\u[\u\l -]+ \d+$)))" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="${1}:" />
                                <Action type="3" message="1702" wParam="0" lParam="512" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="2" message="0" wParam="42083" lParam="0" sParam="" />
                            </Macro>
                            <Macro name="RemoveUSFM" Ctrl="no" Alt="no" Shift="no" Key="0">
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\\f.*?\\f\*" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1702" wParam="0" lParam="770" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\\fig.*?\\fig\*" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1702" wParam="0" lParam="770" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\\x.*?\\x\*" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1702" wParam="0" lParam="770" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\r\n\\s2.*$|\r\n\\s1.*$|\r\n\\s.*$" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1702" wParam="0" lParam="770" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\r\n\\ms1.*$|\r\n\\r.*$" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1702" wParam="0" lParam="770" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\\\+nd\*|\\\+nd\s|\\nd\*|\\nd\s|\\k\*|\\k\s" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1702" wParam="0" lParam="770" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\\\+tl\*|\\\+tl\s|\\tl\*|\\tl\s" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1702" wParam="0" lParam="770" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\\qs\*|\\qs\s" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1702" wParam="0" lParam="770" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\r\n\\m|\r\n\\p|\r\n\\b" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1702" wParam="0" lParam="770" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\r\n\\q4|\r\n\\q3" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1702" wParam="0" lParam="770" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\r\n\\q2|\r\n\\q1|\r\n\\q" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1702" wParam="0" lParam="770" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\\add\*" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="]" />
                                <Action type="3" message="1702" wParam="0" lParam="770" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\\add\s" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="[" />
                                <Action type="3" message="1702" wParam="0" lParam="770" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\\png\*|\\png\s" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1702" wParam="0" lParam="770" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\\pn\*|\\pn\s" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1702" wParam="0" lParam="770" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\r\n\\d\s" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam=" " />
                                <Action type="3" message="1702" wParam="0" lParam="770" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                            </Macro>
                            <Macro name="RemovePreamble" Ctrl="no" Alt="no" Shift="no" Key="0">
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="\\id\s.*^(\w+\s1)$" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="${1}" />
                                <Action type="3" message="1702" wParam="0" lParam="1536" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                            </Macro>
                            <Macro name="RemovePreamble2" Ctrl="no" Alt="no" Shift="no" Key="0">
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="(?s-i)\\id.+?\\toc2 (.+?)\R.*?(?=^\1 \d+$)" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1702" wParam="0" lParam="512" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                            </Macro>
                            <Macro name="Space2Tab" Ctrl="no" Alt="no" Shift="no" Key="0">
                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="^(\w+\s\d+:\d+)\s(.*)$" />
                                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                                <Action type="3" message="1602" wParam="0" lParam="0" sParam="$1\t$2" />
                                <Action type="3" message="1702" wParam="0" lParam="512" sParam="" />
                                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                            </Macro>
                        </Macros>
                        <UserDefinedCommands>
                            <Command name="Get PHP help" Ctrl="no" Alt="yes" Shift="no" Key="112">https://www.php.net/$(CURRENT_WORD)</Command>
                            <Command name="Wikipedia Search" Ctrl="no" Alt="yes" Shift="no" Key="114">https://en.wikipedia.org/wiki/Special:Search?search=$(CURRENT_WORD)</Command>
                            <Command name="Open selected file path in new instance" Ctrl="no" Alt="yes" Shift="no" Key="117">$(NPP_FULL_FILE_PATH) $(CURRENT_WORD) -nosession -multiInst</Command>
                        </UserDefinedCommands>
                        <PluginCommands />
                        <ScintillaKeys />
                    </NotepadPlus>
                    
                    
                    PeterJonesP 1 Reply Last reply Reply Quote 0
                    • PeterJonesP
                      PeterJones @Robert Or Janet Diebel
                      last edited by

                      @Robert-Or-Janet-Diebel said in Running a macro on all the open docs ?.:

                      <Macro name="\c2Book\v2Verse" ...

                      Why in the world would you put backslashes into the name of a macro?!?! You obviously know that backslashes are important to regex, because your macros include regex with backslashes! It turns out, and they are also important in lots of other things, including programming language strings.

                      I know that’s not the cause of your imagined “incompatibility” between Notepad++ v8.7.5 (or newer) and PythonScript 3… but it does appear to be the culprit for your other difficulties, when you do have a working combination of Notepad++ and PythonScript 2.

                      Despite your lack of ability to correctly install it, PythonScript 3.0.22 works just fine with v8.7.9 and v8.7.5. My Experiments with PythonScript 3.0.22 with v8.7.9 show that calling notepad.runMenuCommand("Macro", "\c2Book\v2Verse") causes an error, specifically,

                      C:\usr\local\apps\npp\npp.8.7.9.portable.x64-withPS3022\plugins\Config\PythonScript\scripts\MacroAllFiles_BadBackslash.py:13: SyntaxWarning: invalid escape sequence '\c'
                        notepad.runMenuCommand("Macro", "\c2Book\v2Verse")
                      

                      When using notepad.runMenuCommand("Macro", "\\c2Book\\v2Verse") in the script, it works. If we had known that you had backslashes in your macro name earlier in the process, we could have warned you about that issue, and you wouldn’t have had any difficulty once you got PythonScript installed properly

                      I’m going to give up trying to help you install PythonScript 3, even though I know it works just fine. Instead, just use Plugins Admin to install the most recent PythonScript 2 (right now, it’s 2.1.0 in the Plugins Admin; I don’t know why you installed 2.0 instead). With that, and using the modified string in notepad.runMenuCommand("Macro", "\\c2Book\\v2Verse"), the script will work for you (or, if you rename your macro so it doesn’t have backslashes, then you can just use the literal name of the macro in the string)

                      Robert Or Janet DiebelR 1 Reply Last reply Reply Quote 1
                      • Robert Or Janet DiebelR
                        Robert Or Janet Diebel @PeterJones
                        last edited by

                        @PeterJones Thank you. I will change and try again.

                        1 Reply Last reply Reply Quote 0
                        • Robert Or Janet DiebelR
                          Robert Or Janet Diebel @PeterJones
                          last edited by

                          @PeterJones I appreciate all your efforts. After a very thorough remove, cleanup and re-install of both Notepad++ and PythonScript My initial tests show it is working. Thanx

                          1 Reply Last reply Reply Quote 0
                          • Robert Or Janet DiebelR
                            Robert Or Janet Diebel @Alan Kilborn
                            last edited by

                            @Alan-Kilborn I appreciate all your efforts. After a very thorough remove, cleanup and re-install of both Notepad++ and PythonScript My initial tests show it is working. Thanx

                            1 Reply Last reply Reply Quote 1
                            • Robert Or Janet DiebelR
                              Robert Or Janet Diebel @Alan Kilborn
                              last edited by

                              @Alan-Kilborn Some “Scope Creep” I know, but could I get your input on if and how this might be possible?

                              I load *.SFM files from an SFM folder.
                              I run my MACROs on them.
                              I wish to SAVE ALL with a different extention *.txt to a differnt (TXT) folder.
                              I can “save as” with extention changed manually.
                              But I thought it might be do-able in a more automated way.
                              As always, all help much appreciated.

                              Alan KilbornA 2 Replies Last reply Reply Quote 0
                              • Alan KilbornA
                                Alan Kilborn @Robert Or Janet Diebel
                                last edited by

                                @Robert-Or-Janet-Diebel said :

                                could I get your input on…

                                You’d have to go full-on scripting to achieve that; can’t be done in a macro, but easily doable with scripting. If you go that route, perhaps it makes sense to translate your macro into script commands as well.

                                PeterJonesP 1 Reply Last reply Reply Quote 1
                                • PeterJonesP
                                  PeterJones @Alan Kilborn
                                  last edited by

                                  @Alan-Kilborn said in Running a macro on all the open docs ?.:

                                  @Robert-Or-Janet-Diebel said :

                                  could I get your input on…

                                  You’d have to go full-on scripting to achieve that;

                                  @Robert-Or-Janet-Diebel, since you are now using my script to run the macro on every file anyway, adding the calculation to get the new filename based on the old .txt name shouldn’t be difficult, and that could be passed into notepad.saveAs() – these lines would go immediately after the notepad.runMenuCommand(...) line, at the same indentation level.

                                  If you go that route, perhaps it makes sense to translate your macro into script commands as well.

                                  it probably does make sense to translate the two search-and-replaces from the macro into native pythonscript. if I’d known, at the time I was writing that script, that the macro just did one or two s+r actions, I would have asked what those regex were specifically, and we could have bypassed the whole macro-naming fiasco by running the macro in the PythonScript.

                                  But I’m not sure I’m interested in being the one to add the filename calculation, or substitue the notepad.runMenuCommand(...) with the editor.research(...) or walk @Robert-Or-Janet-Diebel through the process of typing in those lines into the correct place in the script, because I have a feeling that would be another huge number of back-and-forths.

                                  Robert Or Janet DiebelR 1 Reply Last reply Reply Quote 2
                                  • Robert Or Janet DiebelR
                                    Robert Or Janet Diebel @PeterJones
                                    last edited by

                                    @PeterJones Well, what you have helped me with previously is working great. and I thank you very much. It is good to know it is possible though.

                                    1 Reply Last reply Reply Quote 0
                                    • Alan KilbornA
                                      Alan Kilborn @Robert Or Janet Diebel
                                      last edited by

                                      @Robert-Or-Janet-Diebel said :

                                      I wish to SAVE ALL with a different extention *.txt to a differnt (TXT) folder.

                                      Just to show how only this part might be done in scripting:

                                      import os
                                      save_copy_folder = r'c:\junk\sfm_files'  # folder of your choice
                                      for (pathname, buffer_id, index, view) in notepad.getFiles():
                                          if pathname.lower().endswith('.sfm'):
                                              sfm_filename = pathname.rsplit(os.sep, 1)[-1]
                                              txt_filename = sfm_filename[:-3] + 'txt'  # strip off sfm extension and add txt
                                              save_copy_pathname = os.path.join(save_copy_folder, txt_filename)
                                              notepad.activateFile(pathname)
                                              notepad.saveAsCopy(save_copy_pathname)
                                      
                                      Robert Or Janet DiebelR 1 Reply Last reply Reply Quote 0
                                      • Robert Or Janet DiebelR
                                        Robert Or Janet Diebel @Alan Kilborn
                                        last edited by

                                        @Alan-Kilborn Thank you Alan.

                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post
                                        The Community of users of the Notepad++ text editor.
                                        Powered by NodeBB | Contributors