MW211 EXIT

devlog
ExcelVBA/シートの型
2018年06月11日
┌──────────────────────────────────────┐
│Dim シート As Worksheet                                                     │
└──────────────────────────────────────┘
基本的にはWorksheet型。

但し、配下のオブジェクト(ボタン)などを操作する場合には
Object型にしないとエラーとなるので注意。
┌──────────────────────────────────────┐
│Dim シート As Object   ' シート上のオブジェクトを操作                       │
└──────────────────────────────────────┘
分類:ExcelVBA
HTML5/canvasで線を消す
2018年06月08日
線を引くcanvas処理。
┌──────────────────────────────────────┐
│コンテキスト.globalCompositeOperation = 'source-over';                      │
│コンテキスト.beginPath();                                                   │
│コンテキスト.moveTo(左, 上);                                                │
│コンテキスト.lineTo(右, 下);                                                │
│コンテキスト.closePath();                                                   │
│コンテキスト.strokeStyle = 色;                                              │
│コンテキスト.stroke();                                                      │
└──────────────────────────────────────┘
  ※左上が始点、右下が終点の場合(逆とかでもOK)

で、その線を消すcanvas処理。
┌──────────────────────────────────────┐
│コンテキスト.globalCompositeOperation = 'destination-out';                  │
│コンテキスト.beginPath();                                                   │
│コンテキスト.moveTo(左, 上);                                                │
│コンテキスト.lineTo(右, 下);                                                │
│コンテキスト.closePath();                                                   │
│コンテキスト.stroke();                                                      │
└──────────────────────────────────────┘
「.globalCompositeOperation」の指定を変えてあげる。
どちらかというと透明な線を上書する(下を潰す)ようなイメージか。

ただ、ちょっとずれて消す前の線が残ることもあるようだ。

確実なのは、以下のように線を引いた領域をまるごとクリアする方法のようだ。
┌──────────────────────────────────────┐
│コンテキスト.clearRect(左, 上, 右, 下);                                     │
└──────────────────────────────────────┘
もちろんこの方法だと、領域内の他の線も消えてしまうけどね。
(キャンバスを分けてレイヤー階層にするのがよいかも)
分類:HTML5+CSS3
PHP/CSVを七列ごとに改行(続き)
2018年06月07日
一列のCSVデータを七件ずつ改行するには?
┌───┬──────────────────────────────────┐
│置換前│1,2,3,4,5,6,7,8,9,10,11,12,13,14,15                                 │
├───┼──────────────────────────────────┤
│置換後│1,2,3,4,5,6,7                                                       │
│      │8,9,10,11,12,13,14                                                  │
│      │15                                                                  │
└───┴──────────────────────────────────┘

PHPでやってみたよ。
┌──────────────────────────────────────┐
│$csv = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15';                               │
│$offset = -1; $count = 0;                                                   │
│while (($offset = strpos($csv, ',', ++$offset)) !== FALSE && ++$count) {    │
│    if ($count % 7 === 0) {                                                 │
│        $csv = substr_replace($csv, "\r\n", $offset, 1);                    │
│    }                                                                       │
│}                                                                           │
│echo $csv;                                                                  │
└──────────────────────────────────────┘

テクニックに走った感じ(自分でも後でわからなくなりそう)なので、
ちょっとわかりやすくしてみた。
┌──────────────────────────────────────┐
│$csv = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15';                               │
│$count = 1;                                                                 │
│$offset = 0;                                                                │
│while (($offset = strpos($csv, ',', $offset)) !== FALSE) {                  │
│    if ($count % 7 === 0) {                                                 │
│        $csv = substr_replace($csv, "\r\n", $offset, 1);                    │
│    }                                                                       │
│    $count++;                                                               │
│    $offset++;                                                              │
│}                                                                           │
│echo $csv;                                                                  │
└──────────────────────────────────────┘
分類:PHP
PHP/CSVを七列ごとに改行
2018年06月06日
一列のCSVデータを七件ずつ改行するには?
┌───┬──────────────────────────────────┐
│置換前│1,2,3,4,5,6,7,8,9,10,11,12,13,14,15                                 │
├───┼──────────────────────────────────┤
│置換後│1,2,3,4,5,6,7                                                       │
│      │8,9,10,11,12,13,14                                                  │
│      │15                                                                  │
└───┴──────────────────────────────────┘

正規表現なら以下のような感じ。
┌───┬──────────────────────────────────┐
│置換前│(?<=([^,]*,){6}[^,]*),                                              │
├───┼──────────────────────────────────┤
│置換後│\t                                                                  │
└───┴──────────────────────────────────┘
でも、秀丸エディタではできたけど、PHP(preg)だとダメだった。
直前条件「(?<=)」が可変だと受け付けてくれないようだ。
他に方法を考えねば。
分類:PHP
ExcelVBA/VLOOKUPの数値と文字列
2018年06月04日
入力元が数値で文字列セルに出力した場合、
検索値が、文字列でも数値でも
WorksheetFunction.VLookup()で該当なしとなってしまった。

ひとまず、入力元の数値をCStr()で文字列に変換した上で
文字列セルに出力したところ
検索値が、文字列でも数値でも
WorksheetFunction.VLookup()で該当あるとなった。

どうも、セルの書式と実体に(数値と文字列で)相違があると
該当なしとなってしまうようだ。
分類:ExcelVBA
ExcelVBA/CSVファイル出力
2018年06月02日
出力ファイルの選択を含めたCSVファイル出力処理は以下のような感じ。
┌──────────────────────────────────────┐
│Dim メッセージ As String, yMax As Long, y As Long                           │
│Dim 出力先 As Variant, ファイル名 As String                                 │
├──────────────────────────────────────┤
│ファイル名 = "CSVファイル.csv"  ' 初期表示                                  │
│Do                                                                          │
│    出力先 = Application.GetSaveAsFilename( _                               │
│        InitialFileName:=ファイル名, _                                      │
│        FileFilter:="CSVファイル,*.csv" _                                   │
│    )                                                                       │
│    ' キャンセル                                                            │
│    If 出力先 = False Then                                                  │
│        MsgBox "キャンセルされました。", vbInformation, "処理中止"          │
│        Exit Sub                                                            │
│    End If                                                                  │
│    ' 新規追加                                                              │
│    If Dir(出力先) = "" Then                                                │
│        Exit Do                                                             │
│    End If                                                                  │
│    ' 上書の確認                                                            │
│    ファイル名 = Dir(出力先)                                                │
│    メッセージ = ファイル名 & " は既に存在します。" & vbCrLf _              │
│               & "上書きしますか?"                                         │
│    If MsgBox(メッセージ, vbYesNo + vbExclamation, "上書確認") = vbYes Then │
│        Exit Do                                                             │
│    End If                                                                  │
│Loop                                                                        │
├──────────────────────────────────────┤
│Open 出力先 For Output As #1                                                │
│With ActiveSheet                                                            │
│    yMax = .UsedRange.Rows(.UsedRange.Rows.Count).Row                       │
│    For y = 1 To yMax                                                       │
│        Print #1, _                                                         │
│              Join(WorksheetFunction.Index( _                               │
│                       Range(.Cells(y, 1), .Cells(y, 16)).Value, _          │
│                       1, _                                                 │
│                       0), _                                                │
│                   ",")                                                     │
│    Next y                                                                  │
│End With                                                                    │
│Close #1                                                                    │
└──────────────────────────────────────┘
分類:ExcelVBA
jQuery/CSV読み込み
2018年06月01日
$.get()を使うとこんな感じ。
┌──────────────────────────────────────┐
│//$.ajaxSetup({async:false});  // 非同期をやめる                            │
│$.get(                                                                      │
│    'data.csv',                                                             │
│    function(data) {                                                        │
│        console.log(data);                                                  │
│//      data = data.replace(/\r\n|\r|\n/g, '\t');  // 改行をタブに置換      │
│//      var 配列 = data.split(','));                                        │
│    }                                                                       │
│);                                                                          │
└──────────────────────────────────────┘
分類:jQuery
JavaScript/コンソールログ
2018年05月31日
変数の値を確認したい場合には、以下のようなデバッグ文を仕込むことがある。
┌──────────────────────────────────────┐
│alert(変数);                                                                │
└──────────────────────────────────────┘
各ブラウザのF12押下でデバッグツールを起動し、
コンソール(console)タブを表示できる場合には、以下に変更すれば
こちらの画面に出力できるようになる。
┌──────────────────────────────────────┐
│console.log(変数);                                                          │
└──────────────────────────────────────┘
分類:JavaScript
jQuery/jQueryでcanvas!
2018年05月25日
HTML文(body部)とCSSは以下のような感じ。(たいていはid制御になるだろうが)
┌──────────────────────────────────────┐
│<body>                                                                      │
│<canvas width="100" height="100"></canvas>                                  │
│</body>                                                                     │
├──────────────────────────────────────┤
│<style type="text/css">                                                     │
│canvas {                                                                    │
│    position            :absolute;                                          │
│    top                 :32px;                                              │
│    left                :32px;                                              │
│    height              :400px;     /* 拡大率にあたる */                    │
│    width               :400px;     /* 拡大率にあたる */                    │
│}                                                                           │
│</style>                                                                    │
└──────────────────────────────────────┘
canvasの実サイズは、canvasタグに記載する形になる。
CSSの指定はそれをどういうサイズに引き伸ばして表示するかの指定になる。
よって、上記は「100×100」のcanvasを、「400×400」で表示する指定となり
実質は縦4倍×横4倍の指定ということになる。

で、jQueryで縦と横に11本ずつ線を引いて、「囲」みたいな図を書いた例は以下の通り。
┌──────────────────────────────────────┐
│<script>                                                                    │
│$(function(){                                                               │
│    $('canvas').css({                                                       │
│        'background-color'  :'#EEEEEE',         // 背景色(灰)               │
│    });                                                                     │
│    if ($('canvas')[0].getContext) {                                        │
│        for (var i = 0; i <= 100; i += 10) {                                │
│            var context = $('canvas')[0].getContext('2d');                  │
│            // 縦線                                                         │
│            context.beginPath();                // 開始                     │
│            context.moveTo(i,   0);             // 始点                     │
│            context.lineTo(i, 100);             // 終点                     │
│            context.closePath();                // 終了                     │
│            context.strokeStyle = '#0000FF';    // 線の色(青)               │
│            context.stroke();                   // 描画                     │
│            // 横線                                                         │
│            context.beginPath();                // 開始                     │
│            context.moveTo(  0, i);             // 始点                     │
│            context.lineTo(100, i);             // 終点                     │
│            context.closePath();                // 終了                     │
│            context.strokeStyle = '#FF0000';    // 線の色(赤)               │
│            context.stroke();                   // 描画                     │
│        }                                                                   │
│    }                                                                       │
│});                                                                         │
│</script>                                                                   │
└──────────────────────────────────────┘
「$('canvas')」ではなく、「$('canvas')[0]」を用いる点がミソである。
分類:jQuery
PostgreSQL/pgAdmin4日本語化
2018年05月23日
メニューバーの「File」より「Preferences」を選択する。

「Preferences」画面が起動するので、
画面左のツリーメニューより「User language」を選択し、
画面右に「User language」が表示されたら、
プルダウンメニューより「Japanese」を選択して「OK」押下。

「File」の「Reset Layout」を実行し画面に反映させれば完了。
分類:PostgreSQL
前へ 1 … 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 … 156 次へ