Obviously you would not hard code the URL. This is just an example for the template to make it easy to understand. The method you you choose to use to set the "HTML_File" variable is a matter of preference. You could pass the value in through the procedure, or you could just have another variable that is form-global and use it to set your URL. Or, you could pass it with something like an editbox. There really are endless possibilities... so to say that one or the other is wrong for a snippet is a little much. That's why it's important to remember that a snippet is a code template... NOT a finalized copy and paste solution.
Plus why would you not just save the overhead of a function call and code the ShellExecute code directly in?