Find and replace in Excel 2011 using Applescript

南笙酒味 提交于 2020-01-15 09:02:31

问题


I was wondering if anyone could help me. I'm trying to find and replace blank spaces in an excel workbook. I want it to search the current sheet I'm on in a workbook, find all instances of "" and replace it with " ".

Does anyone happen to know how to do this?


回答1:


With Applescript:

searchAndReplaceTextInCells("hello", "world")

on searchAndReplaceTextInCells(search_str, replace_str)

    tell application "Microsoft Excel"

        set search_range to range "A:Z"
        set all_found_ranges to {} -- store for the ranges, to manipulate after searching
        set found_range to ""
        set counter to 0
        try
            set found_range to find search_range what search_str with match case
        on error
            log ("No matches found")
        end try

        if (found_range is not "") then
            set first_cell_address to (get address of the cells of found_range) -- we use this to break our loop
            repeat while true
                set counter to counter + 1
                copy found_range to end of all_found_ranges

                -- Now look for next result
                set found_range to find next search_range after found_range
                set cell_address to (get address of the cells of found_range)

                if (cell_address = first_cell_address) then 
                    -- have looped around so we are finished!
                    exit repeat
                end if
            end repeat

        end if

        -- walk all the ranges found and do the string replacing
        repeat with r in all_found_ranges
            set value of r to my replace_chars(the value of r, search_str, replace_str)
        end repeat

        log ("found and replaced " & counter & " items")
    end tell
end searchAndReplaceTextInCells

on replace_chars(this_text, search_string, replacement_string)
    set my text item delimiters to the search_string
    set the item_list to every text item of this_text
    set my text item delimiters to the replacement_string
    set this_text to the item_list as string
    set my text item delimiters to ""
    return this_text
end replace_chars



回答2:


How about Command + F, and hit the Replace button to give you this:




回答3:


Have you tried the following:

replace range targetRange what searchStr replacement replaceStr

This should be rather straight forward replacement statement.



来源:https://stackoverflow.com/questions/20317109/find-and-replace-in-excel-2011-using-applescript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!