メモ(未整理)

f:id:gyokusen_since:20190117131119p:plain

 

とりあえず忘れないようにここにメモしておこうと思い立ちました!

 

 

news.mynavi.jp

news.mynavi.jp

news.mynavi.jp

news.mynavi.jp

www.lifehacker.jp

 

qiita.com

www.ebisawa.co.jp

www.ne.jp

Excel文字罫線変換

上記のExcel文字罫線変換で作成したテーブルです。 

No 日付 開始時刻 終了時刻 経過時間 ステータス 台帳 作業内容

1

08/31(水) 8:08 8:10 0:01 完了   作業詳細作成

2

08/31(水) 8:08 8:38 0:29 完了   Webチェック

3

08/31(水) 8:10 8:16 0:05 完了   メールチェック

上記のExcel文字罫線変換で作成したテーブルです。その2 

f:id:gyokusen_since:20190117172949p:plain

エクセルのイメージ図
■ファイル名一括変更(ファイル名に最終更新日時の付与)
<実行の仕方>
 右にある「ペンを持った右手」の図をクリックすると対象フォルダのダイアログが出てきます。
 ファイル名復旧の設定値が「あり」の場合は元に戻すかどうか問合せがあります。
■設定項目
No 設定項目 補足説明 初期設定値(◎の付いた値) 設定値(動作内容を変えたい場合はここを触る)

1

ファイル名復旧

復旧情報シートを元にファイル名を元に戻す
ありの場合は復旧候補シートをリストアップして選択させる。

◎なし ○あり

なし

2

復旧情報作成

復旧情報シートを作成する。
シート名はLYYYYMMDD_HHMMSS

◎あり ○なし

あり

3

対象フォルダ

対象フォルダ選択のダイアログで選択する

◎本ブックのあるフォルダ
○フォルダ指定
(※最後より2番目Folder表示となる)

C:\Documents and Settings\p9070038\デスクトップ\VBA\マクロ入りブック(仕様書含む)

メールとかでテーブル表示したい場合は以下の感じになります。

ところが・・・ウェブ上では等幅フォントの実現がうまくいきません(涙)

さらにメール(outlook使用)もダメでした・・・

唯一うまくいくのはエディタ(notepadやさくらエディタ)のみでした。

                                                                                                     
 ■ファイル名一括変更(ファイル名に最終更新日時の付与)                                                                                                                                                 
                                                                                                     
 <実行の仕方>                                                                                                                                                                                         
  右にある「ペンを持った右手」の図をクリックすると対象フォルダのダイアログが出てきます。                                                                                                               
  ファイル名復旧の設定値が「あり」の場合は元に戻すかどうか問合せがあります。                                                                                                                           
┌───────────────────────────────────────────────────────────────────────────────────────────────────┐
│■設定項目                                                                                                                                                                                            │
├─┬───────┬────────────────────────────┬──────────────────┬─────────────────────────────────────────┤
│No│設定項目      │補足説明                                                │初期設定値(◎の付いた値)          │設定値(動作内容を変えたい場合はここを触る)                                      │
├─┼───────┼────────────────────────────┼──────────────────┼─────────────────────────────────────────┤
│  │              │復旧情報シートを元にファイル名を元に戻す                │                                    │                                                                                  │
│1 │ファイル名復旧│ありの場合は復旧候補シートをリストアップして選択させる。│◎なし ○あり                      │なし                                                                              │
├─┼───────┼────────────────────────────┼──────────────────┼─────────────────────────────────────────┤
│  │              │復旧情報シートを作成する。                              │                                    │                                                                                  │
│2 │復旧情報作成  │シート名はLYYYYMMDD_HHMMSS                              │◎あり ○なし                      │あり                                                                              │
├─┼───────┼────────────────────────────┼──────────────────┼─────────────────────────────────────────┤
│  │              │                                                        │◎本ブックのあるフォルダ            │                                                                                  │
│3 │対象フォルダ  │対象フォルダ選択のダイアログで選択する                  │○フォルダ指定                      │C:\Documents and Settings\p9070038\デスクトップ\VBA\マクロ入りブック(仕様書含む)│
│  │              │                                                        │(※最後より2番目Folder表示となる) │                                                                                  │
└─┴───────┴────────────────────────────┴──────────────────┴─────────────────────────────────────────┘

                                                                                                     
 ■ファイル名一括変更(ファイル名に最終更新日時の付与)                                                                                                                                                 
                                                                                                     
 <実行の仕方>                                                                                                                                                                                         
  右にある「ペンを持った右手」の図をクリックすると対象フォルダのダイアログが出てきます。                                                                                                               
  ファイル名復旧の設定値が「あり」の場合は元に戻すかどうか問合せがあります。                                                                                                                           
┌───────────────────────────────────────────────────────────────────────────────────────────────────┐
│■設定項目                                                                                                                                                                                            │
├─┬───────┬────────────────────────────┬──────────────────┬─────────────────────────────────────────┤
│No│設定項目      │補足説明                                                │初期設定値(◎の付いた値)          │設定値(動作内容を変えたい場合はここを触る)                                      │
├─┼───────┼────────────────────────────┼──────────────────┼─────────────────────────────────────────┤
│  │              │復旧情報シートを元にファイル名を元に戻す                │                                    │                                                                                  │
│1 │ファイル名復旧│ありの場合は復旧候補シートをリストアップして選択させる。│◎なし ○あり                      │なし                                                                              │
├─┼───────┼────────────────────────────┼──────────────────┼─────────────────────────────────────────┤
│  │              │復旧情報シートを作成する。                              │                                    │                                                                                  │
│2 │復旧情報作成  │シート名はLYYYYMMDD_HHMMSS                              │◎あり ○なし                      │あり                                                                              │
├─┼───────┼────────────────────────────┼──────────────────┼─────────────────────────────────────────┤
│  │              │                                                        │◎本ブックのあるフォルダ            │                                                                                  │
│3 │対象フォルダ  │対象フォルダ選択のダイアログで選択する                  │○フォルダ指定                      │C:\Documents and Settings\p9070038\デスクトップ\VBA\マクロ入りブック(仕様書含む)│
│  │              │                                                        │(※最後より2番目Folder表示となる) │                                                                                  │
└─┴───────┴────────────────────────────┴──────────────────┴─────────────────────────────────────────┘

f:id:gyokusen_since:20190117150737p:plain

サクラエディタに張り付けた場合
 

www.north-geek.com

www.howtonote.jp

www.north-geek.com

focus3.hatenablog.com

futagolog.hatenablog.com

freesoft-100.com

www.wareko.jp

Winmergeでエクセル比較

WinmergeEXCELシートとマクロのソース部分の比較が可能になってます。

 試してみました。

①シート名はわかります。

②行番号は引き算することでわかります。

③カラム番号は左からタブ区切りとなっていますので数えていけばわかります。

 ※実際にはコピーしてEXCELに張り付けた方が早いかもしれません。

④マクロのソース部分も比較できます。

⑤もちろんロックされていた場合はマクロソースは読み込めません。Winmergeはアドインツールを使いEXCELとやり取りしてシートのデータやマクロのソースを取り出して比較しているようです。

f:id:gyokusen_since:20190117142504p:plain

book1.xlsm

 

f:id:gyokusen_since:20190117142341p:plain

Book2.xlsm

f:id:gyokusen_since:20190117143720p:plain

Winmergeでの比較結果

f:id:gyokusen_since:20190117143843p:plain

Winmergeでのマクロソース比較

akapeso.info


 

VBAワールドの検討

現在マイナーなところを調査しているんですがサグラダファミリアなみの絵図をまず書いてから、それを埋めていこうかなと思い立ちました。

www.nta.co.jp

まずはアトランダムに思いついたキーワード等を羅列してみます。

  1. VBAの事始め-チュートリアル
  2. VBAでの開発時に行うデバグとテスト方法について
  3. VBAの小技、部品集とサンプルプログラム
  4. VBAの高速化に関する知識について
  5. VBEのソースコードに対するロックのやり方と解除の仕方
  6. エクセルマクロアプリケーションのバージョンアップの自動化
  7. 試してよかった世の中にあるツールなど

1.VBAの事始め-チュートリアル

news.mynavi.jp

news.mynavi.jp

matome.naver.jp

2.VBAでの開発時に行うデバグとテスト方法について

www.asahi-net.or.jp

qiita.com

www.atmarkit.co.jp

www.sejuku.net

www.buildinsider.net

www.ken3.org

www.techmatrix.co.jp


tonari-it.com

asatte.biz

3.VBAの小技、部品集とサンプルプログラム

excelkamiwaza.com

officeboole-vba.fan.coocan.jp

hp.vector.co.jp

pckowaza.web.fc2.com

excel-magic.com

www.ebisawa.co.jp

 これをちょっとダウンロードして解除できるか試してみる。

soft.rifnet.or.jp

4.VBAの高速化に関する知識について

 

5.VBEのソースコードに対するロックのやり方と解除の仕方

 

6.エクセルマクロアプリケーションのバージョンアップの自動化

 

7.試してよかった世の中にあるツールなど

 

 

VBA 今後の調査予定について

VBAについて現時点の構想は以下の通りです。
・備忘録として
 EXCELのワークシート関数の中でトリッキーなものについてピックアップする
 EXCELの関数では相当面倒な記述を要するものをユーザ定義関数で使うようにする
 VBAの自作の関数一覧と使用例のサンプルブックの充実化
・調査・作成予定のもの
 EXCELブックで作成されたアプリケーションのバージョンアップが生じていないかを立ち上げ時にチェックする機能
 EXCELアプリのバージョンアップや戻しが簡単に行えるようにする方法
 プロジェクトのロック関連の作成・解除の手引き
 メール分析、自動返信、時間指定送信など
 

 

はてなブログ ソースコードの表示について その2

昨日から四苦八苦して漸くソースコードをブログ記事中に張り付ける方法が確立したような気がします。とりあえずこの程度で調査を打ち切ろうかなと思っています。
【こういう現象がでても気にしないでください!】
ブログ表示においてノベタンで表示する場合はちゃんとJavaScriptが効いているのにブログを1ページずつ表示する方式では効いてないみたいです。
原因がよくわからない。最終的にはHTMLのコードで書いてやらないと「はてな風記法」ではうまくいかないケースがあるのかもしれません・・・
【理由は編集直後のJavaScriptの実行が追い付かないケースがあるみたいです】
二転三転して申し訳ないがどうも更新直後に表示させるとだめみたいだ!

1.フッターに張り付けたJavaScriptソースコード

<script>
let codes = document.getElementsByClassName('code');
[].forEach.call(codes, function(elem, key, val){
    // クラスに lang が含まれていない場合は何もしない
    if (!/lang/.test(elem.className)) {
        return;
    }
    let line_num = 1;
    // 行で分割
    let lines = elem.innerHTML.split("\n");
    let texts = elem.textContent.split("\n");
    // 最終行が空の時は削除
    if (lines[lines.length-1].length === 0) {
        lines.pop();
    }
    // 最初の1行目にコメント後の数字:か、数字:があれば、先頭の行番号にする(2017/4/15修正)
    if ((texts.length > 0) && (/(^|\/\/|\/\*) *[0-9]+:/.test(texts[0].trim()))) {
        line_num = texts[0].trim().replace(/:/, "").replace(/(\/\/|\/\*)/, "")-0;
        lines.shift();
    }
    let modi = "<ol start='"+line_num+"'>";
    lines.forEach(function(elem) {
        modi += "<li class='code-list'>"+elem+"</li>";
    });
    modi += "</ol>";
    elem.innerHTML = modi;
});
</script>
<script defer>
;(function(d){

if(!window.getSelection){
  return
}

var btn = d.createElement("button")
btn.id = "selectPre"
btn.textContent = "select"
btn.addEventListener("click", selectPre, false)

function selectPre(){
  var sel = window.getSelection()
  var pre = this.parentNode
  sel.selectAllChildren(pre)
  sel.extend(pre, pre.childNodes.length-1)
}


var pres = d.getElementsByTagName("pre")
for(var i=pres.length; i--;){
  pres[i].addEventListener("mouseover", addBtn, false)
}

function addBtn(e){
  if(this === addBtn.ele) return // not to addBtn if already
  this.appendChild(btn)
  return addBtn.ele = this
}

})(document)
</script>
<script type="text/javascript">
window.addEventListener("load", function onLoad() {
  window.removeEventListener("load", onLoad);
  var codes = document.querySelectorAll("pre.code");
  var len = codes.length;
  for (var i = 0; i < len; i++) {
    (function () {
      var code = codes[i];
      // select all on double click
      code.addEventListener("dblclick", function () {
        var range = document.createRange();
        range.selectNodeContents(code);
        var selection = document.getSelection();
        selection.removeAllRanges();
        selection.addRange(range);
      });
    })();
  }
});
</script>

2.CSSに張り付けたソースコード

/* <system section="theme" selected="6653586347155924442"> */
@import url("https://blog.hatena.ne.jp/-/theme/6653586347155924442.css");
/* </system> */

/*code-listクラスの数でカウント*/
.code-list:nth-child(2n+1) {
    background-color: #eee;
}
#selectPre{
  position: absolute;
  top: 0;
  right: 0;
  border: none;
  padding: 2px 3px;
  font-family: consolas
}
/*code-lineクラスの数でカウント*/
.code-line {
  counter-increment: linenumber;
}
/*偶数行のみ背景色を適用*/
.code-line:nth-child(even){
  background-color: #eee;
}
/*行番号を擬似要素として表示*/
.code-line::before {
  content: counter(linenumber);
  display:inline-block;
  color: #ccc;
  text-align: right;
  width: 35px;
  padding: 0 15px 0 0;
}
/*コードブロックに言語名を表示*/
pre.code:before {
    content: attr(data-lang);
    display: inline-block;
    background: #ccc; /*カラーコード変更*/
    color: #666;
    padding: 5px;
    position: absolute;
    margin-left: -20px; /*表示位置を調整*/
    margin-top: -30px;
}
pre.code {
    padding-top: 30px !important;
    border:2px solid #ccc; /*追加:コード表示部分の枠設定*/
    background:#f8f8f8; /*追加:コード表示部分の背景色*/
    position:relative; /*追加*/
}
*グローバルメニュー*/
 #global-menu {
 background-color: #444444; /*ナビメニューの両サイド背景の色変更*/
 border-bottom: 2px solid #444444; /*ナビメニュー下部のラインカラー変更*/
 }
 .global-menu-list li a {
 color: #fff; /*ナビメニューの文字色変更*/
 background-color: #444444; /*ナビメニューの背景色変更*/
 }
 #mobile-head {
 background-color: #444444; /*スマホ版 ナビメニューの背景色変更*/
 }
 #blog-title {
  border-bottom: 1px solid #444444; /*ナビメニュー上部のラインカラー変更*/
 }

3.ヘッダーに貼り付けたソースコード

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<div id="global-menu">
<ul class="global-menu-list">
<li><a href="https://www.notitle-weblog.com/entry/2016/02/04/171538" target="_blank">Webデザイン</a></li>
<li><a href="ここにリンク先のアドレス">ここにメニューの名前</a></li>
<li><a href="ここにリンク先のアドレス">ここにメニューの名前</a></li>
<li><a href="ここにリンク先のアドレス">ここにメニューの名前</a></li>
<li><a href="ここにリンク先のアドレス">ここにメニューの名前</a></li>
</ul>
</div>

はてなブログ ソースコードの表示について

今回初めてソースコードをブログ上で表示しようとして色々サイトをぐぐって調べやり方はわかったが実際には思ったように動いてくれないので困っている。Webブラウザ上でのデバグの仕方を身に着けてないのでどこがおかしいのかわからないでお手上げ状態である。

これまでに得た知識の整理:

1.HTML上の記述方法
 ソースコードをHTMLの中で表示したい場合は、
<pre><code> </code></pre>

で挟んだ中にソースコードを記述すると以下の恩恵が得られるらしい。
等幅フォントで表現される。➡ なぜか罫線とかはダメでした。
・改行を見た目のまま実現してくれる。
・<pre>タグを使うと、改行やタブ・スペースを入れて整形したテキストをそのまま表示することができます。<pre>は「preformatted text」の略です。

2.はてなブログにおけるソースコードを埋め込むやり方
 3つあるらしいがそのうちの一つであるはてなブログの記述でやってみたが結果が期待どおりにならなかった。
>|java|
String peace = "azatoi";
||<

 具体的にここまででこの記事がHTML的にどのようになっているかこれからチェックします。

3.HTML編集モードがでない・・・
 調べたら最初に編集モードが「はてな記法」になっているとHTMLタブは出ないみたいです。
 よってこの記事はHTMLタブが出ない状態となっています。
 別途もう一回記事を書く前に編集モードを「みたまま」とかにしてからここの本文を再度記述して確認してみたいと思います。

4.はてな記法ソースコードを表示する方法は下記のようにうまくいったようです。
  ただ行番号がだめみたいですね。➡原因がわかりました。実現方法については別記事にて説明します。

String peace = "azatoi";