outreg2を本格的に使いだした。多くの類似した図表を作る必要に迫られたため。
これは,Stataの分析結果を論文形式に近い形で再出力するものです。
類似コマンドとしてoutregやestimateが挙げられます。
ただ良い点は,XML形式などに対応している点があります。Excelオプションを選択することでexcelでそのまま開ける形式で保存することができます
また,estimates コマンドと同様,出力を毎回メイン画面に出さないのが良いです。その他,オプションが多いので,拡張しやすそうです。

出力結果をStata上で見るには,seeoutコマンドを使えば,edit画面に出力形式が表示されます。

個人的に使い勝手が悪いと感じた点は,
β推定量
(標準誤差)Stars
という形,つまり標準誤差とアスタリスクが同じセルに表示されることです。これは,estimatesやoutregにも共通しています。
できれば,標準誤差とアスタリスクは別のセルに表示したいです。つまり

β推定量 |
(標準誤差) | Stars
という形。
そういう場合は,推定結果と推定結果の間に空白の列を作成し,アスタリスクを右の空白のセルにズレせば対処できそうです。
つまり,

qui:reg y x1 x2
outreg using hoge.xml, excel
qui: reg y
outreg using hoge.xml, append excel
qui: reg y x1 x2 x3
outreg using hoge.xml, append excel
qui: reg y
outreg using hoge.xml, append excel

と,被説明変数だけを指定した推定結果を挟むことで,推定結果と推定結果の間に1列の(constant以外は)空白の列を作成することができます。
先ほども書いたように,Excelオプションはxml形式ですので,テキストエディタで編集可能です。
***
**

*p1*

をそれぞれ
***
**
*

に置換すればokです。まぁこれはこれで面倒ですが。。[20110716追記あり]

置換に関しては秀丸などでする場合は,正規表現に引っかかるのでオフにしてください。マクロか何かを組めそうなので,万が一思いついた場合は記事を追加します。

また,text形式で出力し,\*\*\*\t -> \t***, \*\*\t -> \t**, \*\t -> \t*としていってもいけそうです。
この場合は,正規表現はオンにする必要があります。ただテキスト形式の場合はExcelに張り付けた時にt-valueのカッコが消えるので,初めから文字列として記憶させているxml形式の方が使い勝手がよい気がします。

修正前と後のファイル名を変えて,フォルダ内のoutreg出力ファイルを整形するスクリプトなんかも書けそうですが。。

ややきれいになるって程度ですが,思いついたのでメモ。

20110716追記
以下の内容で秀丸マクロを作成し,任意のキーにショートカットを覚えさせると作業速度が速くなるかと思います

	replaceallfast "***</Data></Cell><Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\"></Data>" , "</Data></Cell><Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\">***</Data>" , casesense;
	replaceallfast "**</Data></Cell><Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\"></Data>" , "</Data></Cell><Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\">**</Data>" ,casesense;

	replaceallfast  "*</Data></Cell><Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\"></Data>" , "</Data></Cell><Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\">*</Data>" ,casesense;
	replaceallfast "<Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\">*</Data></Cell><Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\">*</Data></Cell><Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\">*</Data></Cell>" , "<Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\">***</Data></Cell><Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\"></Data></Cell><Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\"></Data></Cell>" ,casesense;
	replaceallfast "<Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\">*</Data></Cell><Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\">*</Data></Cell>" , "<Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\">**</Data></Cell><Cell ss:StyleID=\"s22\"><Data ss:Type=\"String\"></Data></Cell>" ,casesense;