使用Applescript在Excel 2011中查找和替换

时间:2013-12-01 20:50:46

标签: macos excel replace applescript

我想知道是否有人可以帮助我。我正在尝试查找并替换excel工作簿中的空格。我希望它搜索我在工作簿中的当前工作表,找到所有“”的实例并用“”替换它。

有没有人碰巧知道怎么做?

3 个答案:

答案 0 :(得分:4)

使用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

答案 1 :(得分:0)

Command + F怎么样,点击“替换”按钮给你:

enter image description here

答案 2 :(得分:0)

您是否尝试过以下操作:

  

替换范围targetRange什么是searchStr替换replaceStr

这应该是相当直接的替代声明。