パスワードを忘れた? アカウント作成
7268085 journal
日記

akiraaniの日記: html入力支援秀丸マクロ 2

日記 by akiraani

ねためもなどの日記を書くときに使ってる自作の秀丸用のリンク挿入マクロです。自分で使うようにコードを日記に張り付けておきます。
クリップボードからのリンク入力がとかく便利で、下手な専用エディタよりも便利に使えますので、秀丸からhtml編集をする人におすすめです。

マクロ登録手順
1.下記のマクロを秀丸のマクロフォルダに「html.mac」という名前で作成
2.秀丸を起動してhtml.macをマクロに登録
2.メニュー登録で登録したマクロを選択中右クリック、右クリックに追加

使い方

タグを挿入したいエリアを選択してマクロを実行
リンク、フォント、入力、段組の4つの中から挿入するタグを選択。

1.リンクタグ
 aタグでリンクを挿入します。
 リンクしたいURLをクリップボードにコピーし、リンクしたい文字列を選択してhtmlマクロを実行
 URL入力ウィンドウでURLを入力。初期値はクリップボードの先頭行なので、あらかじリンクしたURLをコピペしておくと便利。
 target属性を選択。なし、_top、_brank、任意入力が選択可能

2.フォントタグ
 fontタグを挿入します。
 size、color属性が入力可能です。

3.入力
 属性を一切指定しないで任意のタグを入力します。
 初期値は自分で使う都合上BLOCKQUOTEになっています。他のがよい場合はマクロを直接書き換えてください。

4.段組
 ul、もしくはolタグを挿入します。
 最初にマークをつけるかどうかでyesを選択すると、各行の先頭にliタグを挿入します。
 マークをつける場合、マークのtype属性をdisk、circle、square、number、none、選択できます。number、noneを選んだ場合type属性は入力しません。また、numberを選択するとulタグをolタグに変更します。

なお、エリアを選択しないでマクロを実行すると、br、もしくはimgタグの挿入ができます。スラッシュドットの日記にはどちらも不要なので詳細は割愛します。

//汎用タグ挿入マクロ

//保存用クリップボード内容の取り込み
  $crip="";
  $crip2="";
  $n="";
  $temp="";
  beginclipboardread;
  $crip = getclipboard;
  $temp = getclipboard;
  while($temp != "")
        {
          $crip2=$crip2+$temp;
          $temp= getclipboard;
        }

//一行目の改行を削除
  if(rightstr($crip,1)=="\n")
        {
          $crip=leftstr($crip,strlen($crip)-1);
          $n="\n";
        }

if(selecting)
{
//変数初期化
  $url="";
  $terget="";
  $size="";
  $color="";
  $select="";
  $output="";
  $alt="";
  #temp1=0;
  $endstr="";

//選択メニュー表示
  mousemenu "リンク","フォント","入力","段組";
  if(result==0)
        {
          endmacro;
        }
  else if(result==1)
        {
          $url=input("URLを入力してください",$crip);
        menu "targetなし","target _top","target _blank","targetを入力"; //メニュー表示
        if( result == 0) //キャンセル
                {
                endmacro;
                }
                else if( result == 1 ) //targetなし
                        {
                        $target="";
                        }
                else if( result == 2 ) //target="_top"
                        {
                        $target="_top";
                        }
                else if( result == 3 ) //target"_blank"
                        {
                        $target="_blank";
                        }
                else if( result == 4 ) //target"_blank"
                        {
                        $target=input("targetを入力してください");
                        }
          #temp1=1;
        }
  else if(result==2)
        {
          $size=input("サイズを入力してください");
          $color=input("カラーを入力してください");
          if($size=="" && $color=="") endmacro;
          #temp1=2;
        }
  else if(result==3)
        {
          $tag=input("タグ名を入力してください","BLOCKQUOTE");
          if($tag=="") endmacro;
          #temp1=3;
        }
  else if(result==4)
        {
          #temp1=4;
          $ul="ul";
          $li="";
          question "各行にマークをつけますか?";
          if( result == yes )
                {
                  $li="<li>";
                  mousemenu "disk","circle","square","number","none";
                  if( result == 0) endmacro;
                  if(result==1) $li="<li type=\"disk\">";
                  else if(result==2) $li="<li type=\"circle\">";
                  else if(result==3) $li="<li type=\"sqare\">";
                  else if(result==4) $ul="ol";
                }
        }

//選択範囲をクリップボードに取り込み
  cut;

//カットしたクリップボード内容の取り込み
  beginclipboardread;
  $temp=getclipboard;
  while($temp != "")
        {
          $select=$select+$li+$temp;
          $temp=getclipboard;
        }
  if(rightstr($select,1)=="\n")
        {
          //末尾の改行を排除
          $select=leftstr($select,strlen($select)-1);
          $endstr="\n";
        }

  if(#temp1==1)
        {
          if($target != "") $target=" target=\""+$target+"\"";
          $output="<a href=\""+$url+"\""+$target+">"+$select+"</a>";
        }
  if(#temp1==2)
        {
          if($size != "") $size=" size="+$size;
          if($color != "") $color=" color=\""+$color+"\"";
          $output="<font"+$size+$color+">"+$select+"</font>";
        }
  if(#temp1==3)
        {
          $output="<"+$tag+">"+$select+"</"+$tag+">";
        }
  if(#temp1==4)
        {
          $output="<"+$ul+">\n"+$select+"\n</"+$ul+">";
        }

  insert $output+$endstr;
//クリップボードを復帰
  setclipboard $crip+$n+$crip2;
}
else
{
//文字選択されていなかった場合
  mousemenu "画像","改行";
  if(result==1)
        {
          $url=input("URLを入力してください",$crip);
          $alt=input("alt属性を入力してください");
          if($alt != "") $alt=" alt=\""+$alt+"\"";
          $output="<IMG src=\""+$url+"\""+$alt+">";
        }
  if(result==2)
        {
          $output="<br>";
        }
  insert $output;
}
endmacro;

追記
選択した文字列をサーチエンジン(とりあえずグーグル)で検索するマクロ

urlをキックするbatファイルを作成して環境変数pathを通したフォルダに置いておく
urlopen.bat

call start %~1

↓のマクロを選択中右クリックメニューに登録する。
GoogleSearch.mac

//選択した文字列をGoogle検索するマクロ

//選択文字列取得(ただし先頭行のみ)
$SelectString=gettext(seltopx,seltopy,selendx,seltopy,1);

//Google検索URLを作成
$EncodeString="urlopen.bat \"http://www.google.co.jp/search?q="+$SelectString+"\"";

//URLをキック
run $EncodeString;

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家

読み込み中...