2019年1月25日金曜日

QSOパーティーログシート作成マクロ作ってみた

今年もQSOパーティーに参加。

ログシートを5日にJARLに送付し、昨日干支ステッカー到着。

鳥、犬、猪の3つ目、あと9年で十二支完成する。

ログシートは最初は手書き、昨年はエクセルで、今年はスプレッドシートで作ってみました。

ハムログで2日の交信データをCSVで吐き出して、そのデータをスプレッドシートにアップロード。

エクセルで作っていたログシートのフォーマットをスプレッドシートに読み込んで、交信データをコピペ、オペレーター名など必要箇所を入力して完成。

来年のために、ハムログの交信データから、交信日 時間 周波数 モード 相手局コールサイン RST自局オペレーター名前 RST相手局オペレーター名 の順に出力するマクロ作ってみました。






来年以降QSOパーティーログシート作成要領


交信時にハムログのRemarks1に相手局オペレーターの名前のみをカタカナで入力する。

ハムログの複合検索と印刷で、交信データCSVファイルを得る。

そのデータをスプレッドシートにアップロード。

以下のマクロを実行。

function LogListCsvToQsoPartyLog(){

  /*
    Loglist.csvのデータをQsoPartyLogデータに変換するscript。
     ハムログRemarks1に左詰めで相手局オペレータ名のみカタカナで入力しておく。
    */  

   var sheet=SpreadsheetApp.getActiveSheet();
    //変数sheetにアクティブシートを得る。 
   var lastRow=sheet.getLastRow();
    //変数lastRowにデータの最終行を得る。
   sheet.moveColumns(sheet.getRange('B:C'), 1); 
   sheet.moveColumns(sheet.getRange('F:G'), 3); 
    //列の並べ替え
   var cd=sheet.getRange(1,1,lastRow,13).getValues();
    //配列変数cdに1行目1列から最終行13列までのデータ格納。
   var ld=sheet.getRange(lastRow+1,1,lastRow,13).getValues();
    //配列変数ldにcdと同数の空データ格納。
   
   for (var i=0;i<cd.length;i++ ){
      for (var j=0;j<13;j++ ){  
        ld[i][j] = cd[i][j].toString().replace(/(^\s+)|(\s+$)/g, "");
        //文字列前後の空白文字削除
        if(j==5){
         ld[i][j] = cd[i][j].toString()+"ナマエ";
         //ナマエを自分のナマエに変更
         }
        if(j==6){
         ld[i][j] = cd[i][j].toString()+cd[i][12].toString();
         }
     } //for j
     } //for i

    sheet.getRange(lastRow+1,1,lastRow,13).setValues(ld);
}




変換データをコピーして、ログシートのフォーマットに値のみ貼り付ける(「Ctr」+「Shift」+「V」)。

なお、マクロ実行については、

WsjtxADItoHamlogCSVの記事参照





1 件のコメント:

  1. The Top 10 Gambling Sites (2021) | Dr.MD
    Find The Top 10 Gambling Sites (2021) · 1. 여주 출장마사지 Red Dog 안성 출장마사지 Casino – Best 창원 출장안마 Overall Casino Overall 충주 출장안마 · 2. mBit Casino – Best For Live Poker 사천 출장샵 · 3. mBit

    返信削除