This content has been marked as final. Show 7 replies
I just use control F and it's works fine for me.
Control F searches for a word or phrase within a single topic, it does not search every topic in a project.
I've had the same issues that IonicRobin has found. WinHelp had all of the topics in a continguous Word file so global find and replace functions were very easy to automate. However, in HTML Help topics exist as discrete files and RoboHelp X5 does not appear to have a tool that can search through all of the files and do a find and replace function. The same problem existed in RoboHelp 2002; I had hopes that X5 had a solution for global search/replace functions!
If you want to automate the search of your entire project for a specific word or phrase, RoboHTML does not offer any easy solution... or rather any solution that I found. I still open each topic and use the Find/Replace function in the Edit menu (or Ctrl F).
Thanks for your reply. Unfortunately, we have about 2000 topics in our project, so opening each one is not an option.
It's not so much replace that I need, simply being able to find across all the topics is the key thing, then being able to double click the results and open them in the RoboHelp editor.
I still find it hard to believe this feature is lacking!!!
RH does have a feature that will find and replace across all topics. You will find the Multi file find and replace tool in the Tools tab. That said it may not always work as expected. I use a low cost application called FAR from http://www.helpware.net. Be aware though that all these tools search the code, rather than just the text you see in the WYSIWYG editor.
The same tool will give you the list you want and there is an Edit button to edit the highlighted topic. The dumb thing is it opens in your PC's system defined HTML editor rather than RH so you would need to define RH as the system editor.
I was unable to find a phrase I was looking for in my RoboHelp X5 project with RoboHelp's Multi-File Find and Replace tool. I was searching for "Change button" which I knew was there, because I could see it in the WYSIWYG editor. I was thinking that it might be an issue with Microsoft Visual Studio source control since I use that tool for version control. So I made certain that all my files were checked in, then searched again, and Multi-File Find and Replace still couldn't find the phrase. I downloaded FAR ( http://helpware.net/FAR/index.html) as suggested on this forum, but that tool couldn't find the phrase either. I tried searching the output (FlashHelp) but there's no Boolean search capability like there is in WebHelp, so a search for "Change button" resulted in a number of topics that was the equivalent of an "OR" search. I even searched through the RoboHelp files in Windows Explorer and still couldn't find what I knew was there.
Finally, I discovered why. I highlighted "Change button" in the topic and looked at the html code in the True Code editor and found: <span style="font-weight: bold;">Change</span> button.<span style="font-weight: bold;">. Evidently Multi-File Find and Replace is not searching the WYSIWYG. (On the Multi-File Find and Replace tool's dialog I even made sure to use *.* in the Named field to search all files, not just html).
Does anyone have a solution to this? Shouldn't the Multi-File Find and Replace tool be searching the WYSIWYG?
No it is intended to look at code level and long may that last. There are many things that need to be done at that level. For example changing something in every topic where you need to code as well or finding the text and the code so that you can then just change to formatting around it.
Tip for a similar problem another time. Set up the search to Start with Change and End with Button.
If you just want to search and replace text within an HTM/HTML file you caan achieve this by using Word and the macro below. You will need to change the "Path to use" line and change the myfile line to htm/html. Remember to backup before trying.
Public Sub BatchReplaceAll()
Dim FirstLoop As Boolean
Dim myFile As String
Dim PathToUse As String
Dim myDoc As Document
Dim Response As Long
PathToUse = "C:\test"
'Error handler to handle error generated whenever
'the FindReplace dialog is closed
On Error Resume Next
'Close all open documents before beginning
'Boolean expression to test whether first loop
'This is used so that the FindReplace dialog will
'only be displayed for the first document
FirstLoop = True
'Set the directory and type of file to batch process
myFile = Dir$(PathToUse & "*.doc")
While myFile <> ""
Set myDoc = Documents.Open(PathToUse & myFile)
'If ActiveWindow.View.SplitSpecial = wdPaneNone Then
' ActiveWindow.ActivePane.View.Type = wdNormalView
' ActiveWindow.View.Type = wdNormalView
' End If
If FirstLoop Then
'Display dialog on first loop only
FirstLoop = False
Response = MsgBox("Do you want to process " & _
"the rest of the files in this folder", vbYesNo)
If Response = vbNo Then Exit Sub
'On subsequent loops (files), a ReplaceAll is
'executed with the original settings and without
'displaying the dialog box again
.ReplaceAll = 1
ActiveWindow.View.Type = wdPrintView
'Close the modified document after saving changes
'Next file in folder
myFile = Dir$()
Hope it helps,