<?xml version="1.0" encoding="UTF-8"?><helpdocument version="1.0">
<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->


 
<meta>
<topic id="topic_0805201012470684" indexer="topic_0805201012525212">
<title xml-lang="en-US" id="tit">Creating a New Help File</title>
<filename>org.openoffice.helpauthoring/ha-newfile.xhp</filename>
</topic>
</meta>
<body>
<bookmark xml-lang="en-US" branch="hid/vnd.sun.star.script:HelpAuthoring._Main.CreateFile?language=Basic&amp;location=application" id="bm_id0713201003430566" localize="false"/>
<paragraph id="par_id0805201012470855" role="paragraph" xml-lang="en-US"><ahelp hid="" visibility="hidden">Creates a new help file</ahelp></paragraph>
<bookmark xml-lang="en-US" branch="index" id="bm_id080520101238586">
<bookmark_value>Help File;Creating</bookmark_value>
<bookmark_value>Help Authoring;Creating a new file</bookmark_value>
</bookmark>
<paragraph id="hd_id0805201012525349" role="heading" xml-lang="en-US" level="1">Creating a New Help File</paragraph>
</body>
</helpdocument>