| 一太郎にはオートブック【書式−オートブック】と言う、見映えのする報告書を簡単に作成できる機能があります。これは、文書のレイアウト情報を見て、自動的に見出しなどを判断しくれる優れた機能ですが、期待どおりに設定されないこともあります。そこで、段落の頭に固定の文字があれば、対応する段落スタイルを設定する一太郎プロンプトを作成してみましょう。 
 段落先頭のには、通常の文書では余りないと思われる00などの数字とします。
 以下のルールで、対応する段落スタイルを設定するプロンプトを作成します。
 | 
							
								|   
										
											| 00 | "文書タイトル(オートスタイル)" |  
											| 99 | "日付・署名(オートスタイル)" |  
											| 11 | "大見出し(オートスタイル)" |  
											| 22 | "中見出し(オートスタイル)" |  
											| 33 | "小見出し(オートスタイル)" |  
											| 44 | "個条書き(オートスタイル)" |  
											| 55 | "個条書きの説明(オートスタイル)" |  | 
							
								| お試し文書の例
 段落の頭に、11があれば、"大見出し(オートスタイル)"の段落スタイルが設定されます。
 
 00タイトル
 992003/01/01ぷろん先生
 
 11大見出し
 本文 本文 本文 本文 本文 本文
 22中見出し
 本文 本文 本文 本文 本文 本文
 33小見出し
 prompt22.html 本文 本文 本文 本文 本文 本文
 
 11大見出し
 22中見出し
 33小見出し
 44箇条書き
 55個条説明
 
 
 | 
							
								| スクリプト 長いのでちょっとビックリするかもしれませんが、スクリプトとしては繰り返しが多いだけの単純なものです。このスクリプトを範囲指定して、Ctrl+]で開く入力領域に、Ctrl+Vで貼り付けて利用してください。
 
 js;pl {hs("本文(オートスタイル)",0);};js;
 sl("^(00|99|11|22|33|44|55)") {$n=gs();
 if($n="00") {d;hs("文書タイトル(オートスタイル)",0);}
 else if($n="99") {d;hs("日付・署名(オートスタイル)",0);}
 else if($n="11") {d;hs("大見出し(オートスタイル)",9);}
 else if($n="22") {d;hs("中見出し(オートスタイル)",10);}
 else if($n="33") {d;hs("小見出し(オートスタイル)",11);}
 else if($n="44") {d;hs("個条書き(オートスタイル)",12);}
 else if($n="55") {d;hs("個条書きの説明(オートスタイル)",0);}}
 
 試してみよう
 以下の手順で実際に試してみてください。
 
 
 | 
							
								| 
										
											| 1. | 「お試し文書の例」をコピー・ペーストで一太郎文書に貼り付ける。 |  
											| 2. | 一太郎のメニューから【書式−オートブック】コマンドを実行する。 オートブックコマンドを実行しないと、利用する段落スタイルが文書に設定されません。
 
 |  
											| 3. | [スタイル変更]をクリックして、例えば、「スタイルセット18」を選択する。 実行すると、文書にスタイルが設定されますが、気にせずにそのまま進めてください。
 
 |  
											| 4. | Ctrl+]でプロンプトを開き、上記の「スクリプト」をCtrl+Vで貼り付ける。 |  
											| 5. | Enterで実行する |  | 
							
								| スクリプトの説明
 最初の行の、js;pl {hs("本文(オートスタイル)",0);};js;ですべての段落に、"本文(オートスタイル)"の段落スタイルを設定します。次に、sl("^(00|99|11|22|33|44|55)")で判定する文字列を検索して、$n=gs();で検索した文字列を取り出し、if($n="00")などで一致するか調べています。一致した場合は、dで00などの文字を削除して、hs("日付・署名(オートスタイル)",0);で、段落スタイルを設定しています。hs("大見出し(オートスタイル)",9);のように、同時に連番の番号を指定することもできます。全体は、sl()で繰り返し実行となっています。
 
 
 | 
							
								|  |