LINE Payにチャージがされた!

LINE Pay にチャージがありました。

LINE Pay に3,654円がチャージされた!

自分ではチャージしていないのに、「LINE Pay」(ライン・ペイ)に3,654円のチャージ(入金)がありました。

どうやら「3月度Payトクキャンペーン」というのに参加していたようです。

[link url=”https://store.line.me/notice/20107063/ja”]

2019年3月15日(金)~3月31日(日)に支払った分の20%が還元されたようです。

LINE Pay は主に生活費(主に食費)に使っているので、必要経費にオマケが付くのは嬉しいですね。

[amzn-link asin=”B01MFI02JO”][amzn-link asin=”B079S778ST”][amzn-link asin=”4295006181″][amzn-link asin=”B071DGDDZK”][amzn-link asin=”B07897VZY1″]

XSERVER契約してみた(ふたたび)。今ならドメイン1個プレゼント!Σ(゚ロ゚)o

「高速性・機能性・安定性を兼ね揃えたオールSSDのハイスペックサーバー」の「XSERVER」をもうひとつ契約してみました。

ドメインプレゼントキャンペーン中!

2019年5月21日(火)12:00~2019年7月4日(木)18:00までに契約すれば、独自ドメイン(.com/.net/.org/.biz/.infoからいずれ)を1個プレゼントしてくれます。

[link url=”https://www.xserver.ne.jp/campaign/campaign_190521.php”]

36ヶ月契約で月額900円換算(12ヶ月だと月額1,000換算)になるX10プランでもドメインが1個プレゼント。

しかも、「今回ご契約のサーバーをご利用の間は更新費もずっと無料!」です。

ちなみに、X20/X30プランは特典として「.com .net .org .biz .info の中から1つ無料で独自ドメインをプレゼント」というのがありますが、これとは別のキャンペーンです。

つまり、通常はドメインを貰えない最安のX10プランでも独自ドメインが貰えます。

レンタルサーバーの契約を解除しない限り、未来に渡ってドメインの更新費もかからないので、独自ドメインを欲しかった人はチャンスです!

まずはドメインの確認!

ドメインを取得するのが目的ならば、まず最初に「自分が欲しいドメインが取得できるか」を確認しましょう。

Xdomainのサイトで確認します。

[link url=”https://www.xdomain.ne.jp/”]

「取得希望のドメイン名を検索」のボックスに欲しいドメイン名を入力して「検索」をクリックします。(「popozure.info」が欲しいなら「popozure」と入力する。)

こんな感じで取得できるドメインが確認できます。

XSERVERのキャンペーンで取得できるドメインは、「.com」「.net」「.org」「.biz」「.info」「.xyz」「.link」「.click」のいずれかです。

普通のサイトであれば「.com」、情報サイトなら「.info」、アンテナサイトなら「.link」や「.click」も良いと思います。

さっそく申し込み

現在、すでにXSERVERでこの「ぽぽづれ。」を契約中です。

ここに契約を追加します。

完全新規の方は、こちらの記事を参考にしてください。

[link url=”https://popozure.info/20161220/10843″]

では、さくっと契約します。

  1. まずはインフォパネルにログイン。
  2. 「契約関連」の「+サービスお申し込み」をクリック。
  3. 「エックスサーバー」の「新規申し込み」をクリック。
  4. 「利用規約」と「個人情報の取り扱い」を読んで、「同意する」をクリック。
  5. サーバーIDを入力して「検索」をクリック。(作りたいサイトに関連する名前が良い)
  6. サーバーIDが他の人が使っていなければ「●● で申し込む」がクリックできるようになるのでクリック。
  7. 「お申し込みサービス」「サーバーID」を確認して、プラン「X10」を選択して、「お申し込み内容の確認」をクリック。
  8. 内容を再度確認して「お申し込みする[確定]」をクリック。

以上で新たに契約することができます。

10日間の無料お試し期間

10日間の無料お試し期間がありますので、通常はWordPressを入れてみたり、他のことをしてみたり、あれこれ動きを確認します。

サイトには「http://サーバーID.xsrv.jp」でアクセスできます。(「サーバーID」は自分で設定したサーバーIDに置き換える。)

お試し期間中だと無料のキャンペーン ドメインは貰えません。

気に入ったら支払情報を入力して本契約します。

本契約、支払いの更新期間はどうする?

今回はドメインを取得しちゃうのも目的なので、とっとと本契約しちゃいます。

  1. 「決済関連」の「料金のお支払い/請求書発行」をクリックします。
  2. 本契約に移行したいサーバーIDにチェックを入れて、支払い期間を選択して「お支払い方法を選択する」をクリックします。
  3. 内容を確認します。無料ドメインも入っています。
  4. 今回はクレジット払いするので「クレジットカード決済画面へ進む」をクリックします。
  5. クレジットカードの内容を入力します。「自動更新を行う」にもチェックを入れておきます。
  6. 「カードでのお支払い (確認)」をクリックします。
  7. 内容を確認して「カードでのお支払い (確定)」をクリックします。
  8. 本契約ができました。

初期手数料は3,000円。

今回は月額900円×36か月分の支払いプランにしました。

12か月だと月額換算で1,000円、36か月にすれば月額換算で900円と安くなります。

3年ごとに支払いが来るよりも、毎年均一の支払い額にしたい場合もあるかと思います。

プラン X10
更新期間 12ヶ月 24ヶ月 36ヶ月
初期費 3,000円 3,000円 3,000円
月額 1,000円 950円 900円
支払金額 15,000円 25,800円 35,400円
(税込) (16,200円) (27,864円) (38,232円)

ちなみに、3年、6年運用したときの金額も表にしてみます。(税抜き)

12ヶ月 24ヶ月 36ヶ月
1年目 15,000円 25,800円 35,400円
2年目 12,000円 – –
3年目 12,000円 22,800円 –
4年目 12,000円 – 32,400円
5年目 12,000円 22,800円 –
6年目 12,000円 – –
合計 75,000円 71,400円 67,800円

6年間で税抜き7,200円の差が大きいと思う場合は36ヶ月更新も良いと思います。

本契約してキャンペーンドメイン取得

キャンペーンドメインを貰います。

  1. 「各種お手続き」にある「キャンペーンドメイン」をクリックします。
  2. 「利用規約」と「個人情報の扱い」を読んで、「同意する」をクリックします。
  3. 対象サーバーIDを確認して取得したいドメインを入力して「ドメイン検索」をクリックします。
  4. 「サーバーID」「独自ドメイン」「適用方法」を確認して「キャンペーンドメイン申請」をクリックします。
  5. 独自ドメインの申請が完了しました。

独自ドメインを設定する

独自ドメインでアクセスできるように設定します。

  1. 「契約関連」から「契約情報」をクリックします。
  2. 独自ドメインを設定する契約の「詳細」をクリックします。
  3. 「操作メニュー」から「サーバ管理」をクリックします。
  4. 「ドメイン」から「ドメイン設定」をクリックします。
  5. 「ドメイン設定追加」をクリックします。
  6. 今回取得した独自ドメインを入力します。(「.com」等まで入力する)
  7. 「確認画面へ進む」をクリックします。
  8. 「ドメイン」などを確認して「追加する」をクリックします。(少し時間がかかります)
  9. 独自ドメインの設定が完了しました。

独自ドメインがDNSに反映されて利用できるようになるまで数時間かかる場合もあるので、すぐにブラウザに入力して表示されなくてもあわてないようにしましょう。

では、この辺で。(^-^)o


[Pz-LkC][2.2.3]リンクをカード形式で表示するプラグイン更新。ショートコードの強制実行を追加。

リンクをカード形式で表示するWordPressプラグイン「Pz-LinkCard」。

最新版ver2.2.3を公式プラグインディレクトリで公開しました。

ver2.2.2→ver2.2.3修正点

2019年4月20日に公開したver2.2.2からのバージョンアップです。

[link url=”https://popozure.info/20190420/14088″]

ショートコードの強制実行を追加

URL行やテキストリンクをリンクカードに置き換える機能が上手く動作しない環境があるようです。

URL行やテキストリンクをいったんショートコードに変換してからショートコードを展開しているのですが、ショートコードになったっきり展開がされません。

そこで、強制的にショートコードを展開する機能を付けてみました。

[設定]→[Pz カード設定]→「詳しい人向けの設定」→「ショートコード 実行」にチェックを付けます。

これで改善されると良いのですが・・・。

WordPress 5.2.1 での動作確認

WordPress 5.2および5.2.1での動作確認を行いました。

その他

お気づきの点などありましたら、コメント欄や、ツイッターアカウント「ぽぽろん@ぽぽづれ。(@popo68k)」もしくは「ぽぽづれ。(@popozure)」までご報告ください。

では、この辺で。(^-^)o

[Pz-TLK][1.0.7]顔アイコンと吹き出しで会話を表現するプラグイン更新。バグ修正など。

顔アイコンと吹き出しを表示して会話を表現するWordPressプラグイン「Pz-Talk」。

最新版ver1.0.7を公式プラグインディレクトリで公開しました。

ver1.0.5→ver1.0.7修正点

2018年10月27日に公開したver1.0.5からのバージョンアップです。

[link url=”https://popozure.info/20181027/13582″]

吹き出しの中でショートコードが使えるようにしました

Pz-Talkの吹き出しの中でPz-LinkCardを使いたくて、ショートコードを展開するようにしました。

警告エラーを修正しました

数か所で警告エラーが出ていたので修正しました。

「私」にチェックが入ってしまうのを修正しました

登録されていない名前が出てきたときに設定画面に名前を追加するとき、「私」にチェックが入らないように修正しました。

その他

お気づきの点などありましたら、コメント欄や、ツイッターアカウント「ぽぽろん@ぽぽづれ。(@popo68k)」もしくは「ぽぽづれ。(@popozure)」までご報告ください。

では、この辺で。(^-^)o

VBAでCSVの一行を配列に格納する

VBAでCSVの一行を配列に格納します。

何故かVBAに無い「CSV文字列から配列への変換」

Microsoft Excel では、[データ]→[テキスト ファイル]と選んでいって、区切りをカンマにすることでCSVファイルを高速に Excel シートに読み込ませることができます。

この仕組みがVBAから利用できれば便利なのですが、そういう命令はありません。

関数を追加する

そこで、CSV文字列→配列変換をする関数を作成してみました。

VBAのエディタを開いたら、プロジェクト エクスプローラーで右クリック→[挿入]→[標準モジュール]として、以下を貼り付けてください。

[vb title=”fnvGetCSV.bas”]’fncGetCSV ver1.2
Function fncGetCSV(Record As String, Table() As String) As Long
Dim lngCol As Long
Dim lngCol2 As Long
Dim lngLocate As Long
Dim lngLen As Long
Dim lngLenAll As Long
Dim strRec As String
Dim strTest As String
Dim strTest2 As String
Dim strValue As String
Dim blnQuote As Boolean
Dim blnComma As Boolean
Dim blnSeparate As Boolean
Dim lngInStr As Long
Dim lngInStr2 As Long

lngCol = 0
lngCol2 = 1
ReDim Table(1 To lngCol2)

lngLocate = 1
strRec = Record
lngLen = Len(strRec)
lngLenAll = lngLen

blnQuote = False

While (lngLen <> 0)
strTest = Mid$(strRec, lngLocate, 1)
If (strTest = """") Then
If (blnQuote) Then
strTest2 = Mid$(strRec, lngLocate, 2)
If (strTest2 = """""") Then
strValue = strValue & """"
lngLocate = lngLocate + 2
lngLen = lngLen – 2
Else
blnQuote = False
lngLocate = lngLocate + 1
lngLen = lngLen – 1
End If
Else
blnQuote = True
lngLocate = lngLocate + 1
lngLen = lngLen – 1
End If
Else
If (blnQuote) Then
lngInStr = InStr(lngLocate, strRec, """")
If (lngInStr = 0) Then
strValue = strValue & Mid$(strRec, lngLocate)
lngLen = 0
blnSeparate = True
Else
strValue = strValue & Mid$(strRec, lngLocate, lngInStr – lngLocate)
lngLocate = lngInStr
lngLen = lngLen + lngInStr – lngLocate
End If
Else
lngInStr = InStr(lngLocate, strRec, ",")
lngInStr2 = InStr(lngLocate, strRec, """")
If (lngInStr2 > 0) And (lngInStr2 < lngInStr) Then
strValue = strValue & Mid$(strRec, lngLocate, lngInStr2 – lngLocate)
lngLen = lngLenAll – lngInStr2 + 1
lngLocate = lngInStr2
Else
If (lngInStr = 0) Then
strValue = strValue & Mid$(strRec, lngLocate)
lngLen = 0
Else
strValue = strValue & Mid$(strRec, lngLocate, lngInStr – lngLocate)
lngLen = lngLenAll – lngInStr
lngLocate = lngInStr + 1
lngCol2 = lngCol2 + 1
blnComma = True
End If
blnSeparate = True
End If
End If
If (blnSeparate) Then
lngCol = lngCol + 1
ReDim Preserve Table(1 To lngCol)
Table(lngCol) = strValue
strValue = ""
blnQuote = False
blnSeparate = False
End If
End If
Wend
If (lngCol <> lngCol2) Then
ReDim Preserve Table(1 To lngCol2)
End If
fncGetCSV = lngCol2
End Function[/vb]

参考にしたサイトはありません。

使い方

VBAの中から関数として呼び出します。

パラメータには配列にしたいCSV文字列と、返却して欲しい配列名を指定します。

配列は「Dim 配列名() as String」として定義しておいてください。

[vb title=”test.bas”]’関数のテスト処理
Sub Main()
Dim i As Long
Dim strInputData As String
Dim arrCSV() As String
Dim lngCol As Long

strInputData = "test,""te""""st,""test,te""st,"

lngCol = fncGetCSV(strInputData, arrCSV)

Debug.Print "元データ=" & strInputData
If (lngCol > 0) Then
For i = LBound(arrCSV) To UBound(arrCSV)
Debug.Print i & "=" & arrCSV(i)
Next i
End If
End Sub[/vb]

結果として配列にCSVを分解した文字列が入ってきます。

通常は LINE INPUT や adReadLine で読み込んできた行を入力にする感じだと思います。

ルール

” (ダブルクォート)が来たあとは、特殊な文字列の開始となります。

この間は、カンマが来ても文字として扱い、項目の区切りにはなりません。

“” (ダブルクォート2文字)が文字の「”」(ダブルクォート)と判定されます。

” (ダブルクォート)が1つだけ来た場合、特殊な文字列の終了となります。

入力 結果
配列(0) 配列(1) 配列(2) 配列(3)
“te,st,”,test te,st, test
“te””st””,test te”st test
te”st,test,”test test,testtest

では、この辺で。(^-^)o

VBAでファイルの文字コード判定を行う

VBAで文字コードの判定を行います。

何故かVBAに無い「文字コード判定」

Microsoft Excel では、[データ]→[テキスト ファイル]と選んでいって、ファイルを選択すると文字コードの判定を自動でしてくれます。

この判定がVBAから利用できれば便利なのに、VBAにはその命令がありません。

関数を追加する

そこで、文字コード(文字エンコード)を判定する関数を作成してみました。

VBAのエディタを開いたら、プロジェクト エクスプローラーで右クリック→[挿入]→[標準モジュール]として、以下を貼り付けてください。

[vb title=”fncGetCharset.bas”]Option Explicit

‘fncGetCharset Ver1.6 @popozure
Function fncGetCharset(FileName As String) As String
Dim i As Long ‘汎用指数

Dim lngFileLen As Long ‘ファイルサイズ
Dim bytFile() As Byte ‘ファイル内容
Dim b1 As Byte ‘1バイト目
Dim b2 As Byte ‘2バイト目
Dim b3 As Byte ‘3バイト目
Dim b4 As Byte ‘4バイト目

Dim lngSJIS As Long ‘Shift_JISの可能性
Dim lngUTF8 As Long ‘UTF-8もの可能性
Dim lngEUC As Long ‘EUC-JPの可能性

‘ADODB定数
Const adModeUnknown = 0
Const adModeRead = 1
Const adModeWrite = 2
Const adModeReadWrite = 3
Const adModeShareDenyRead = 4
Const adModeShareDenyWrite = 8
Const adModeShareExclusive = 12
Const adModeShareDenyNone = 16
Const adTypeBinary = 1
Const adTypeText = 2
Const adReadAll = -1
Const adReadLine = -2

‘ファイル読み込み(バイナリー)
On Error Resume Next
With CreateObject("ADODB.Stream")
.Mode = adModeUnknown
.Open
.Type = adTypeBinary
.LoadFromFile FileName
lngFileLen = .Size
bytFile = .Read(adReadAll)
.Close
End With
If (Err.Number <> 0) Then
fncGetCharset = "OPEN FAILED"
Exit Function
End If
On Error GoTo 0

‘BOMによる判断
If (bytFile(0) = &HEF And bytFile(1) = &HBB And bytFile(2) = &HBF) Then
fncGetCharset = "UTF-8 BOM"
Exit Function
ElseIf (bytFile(0) = &HFF And bytFile(1) = &HFE) Then
fncGetCharset = "UTF-16 LE BOM"
Exit Function
ElseIf (bytFile(0) = &HFE And bytFile(1) = &HFF) Then
fncGetCharset = "UTF-16 BE BOM"
Exit Function
End If

‘BINARY
For i = 0 To lngFileLen – 1
b1 = bytFile(i)
If ((b1 >= &H0 And b1 <= &H1F) And b1 <> &H9 And b1 <> &HA And b1 <> &HD And b1 <> &H1B) Or (b1 = &H7F) Then
fncGetCharset = "BINARY"
Exit Function
End If
Next i

‘SJIS
For i = 0 To lngFileLen – 1
b1 = bytFile(i)
If (b1 = &H9) Or (b1 = &HA) Or (b1 = &HD) Or (b1 >= &H20 And b1 <= &H7E) Or (b1 >= &HB0 And b1 <= &HDF) Then
lngSJIS = lngSJIS + 1
Else
If (i < lngFileLen – 2) Then
b2 = bytFile(i + 1)
If ((b1 >= &H81 And b1 <= &H9F) Or (b1 >= &HE0 And b1 <= &HFC)) And _
((b2 >= &H40 And b2 <= &H7E) Or (b2 >= &H80 And b2 <= &HFC)) Then
lngSJIS = lngSJIS + 2
i = i + 1
End If
End If
End If
Next i

‘UTF-8
For i = 0 To lngFileLen – 1
b1 = bytFile(i)
If (b1 = &H9) Or (b1 = &HA) Or (b1 = &HD) Or (b1 >= &H20 And b1 <= &H7E) Then
lngUTF8 = lngUTF8 + 1
Else
If (i < lngFileLen – 2) Then
b2 = bytFile(i + 1)
If (b1 >= &HC2 And b1 <= &HDF) And (b2 >= &H80 And b2 <= &HBF) Then
lngUTF8 = lngUTF8 + 2
i = i + 1
Else
If (i < lngFileLen – 3) Then
b3 = bytFile(i + 2)
If (b1 >= &HE0 And b1 <= &HEF) And (b2 >= &H80 And b2 <= &HBF) And (b3 >= &H80 And b3 <= &HBF) Then
lngUTF8 = lngUTF8 + 3
i = i + 2
Else
If (i < lngFileLen – 4) Then
b4 = bytFile(i + 3)
If (b1 >= &HF0 And b1 <= &HF7) And (b2 >= &H80 And b2 <= &HBF) And (b3 >= &H80 And b3 <= &HBF) And (b4 >= &H80 And b4 <= &HBF) Then
lngUTF8 = lngUTF8 + 4
i = i + 3
End If
End If
End If
End If
End If
End If
End If
Next i

‘EUC-JP
For i = 0 To lngFileLen – 1
b1 = bytFile(i)
If (b1 = &H9) Or (b1 = &HA) Or (b1 = &HD) Or (b1 >= &H20 And b1 <= &H7E) Then
lngEUC = lngEUC + 1
Else
If (i < lngFileLen – 2) Then
b2 = bytFile(i + 1)
If ((b1 >= &HA1 And b1 <= &HFE) And _
(b2 >= &HA1 And b2 <= &HFE)) Or _
((b1 = &H8E) And (b2 >= &HA1 And b2 <= &HDF)) Then
lngEUC = lngEUC + 2
i = i + 1
End If
End If
End If
Next i

‘文字コード出現順位による判断
If (lngSJIS <= lngUTF8) And (lngEUC <= lngUTF8) Then
fncGetCharset = "UTF-8"
Exit Function
End If
If (lngUTF8 <= lngSJIS) And (lngEUC <= lngSJIS) Then
fncGetCharset = "Shift_JIS"
Exit Function
End If
If (lngUTF8 <= lngEUC) And (lngSJIS <= lngEUC) Then
fncGetCharset = "EUC-JP"
Exit Function
End If

‘判定不能
fncGetCharset = "UNKNOWN"
End Function[/vb]

判定方法については以下のサイトを参考にさせていただきました。

[link url=”https://dobon.net/vb/dotnet/string/detectcode.html”]

使い方

VBAの中から関数として呼び出します。

ファイル名のダイアログが表示されるので検査したいファイル名を指定すると可能性の高い文字コードが表示されます。

[vb title=”test.bas”]’関数のテスト処理
Sub Main()
Application.FileDialog(msoFileDialogFilePicker).Show
MsgBox "ファイル名: " & Dir(Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)) & vbCrLf & "判定結果: " & fncGetCharset(Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)), vbInformation
End Sub[/vb]

結果としては、以下の文字列が返ってきます。

返り値 文字コード
UTF-16 LE BOM Unicode (UTF-16 LE)(BOM付き)
UTF-16 BE BOM Unicode (UTF-16 BE)(BOM付き)
UTF-8 BOM UTF-8(BOM付き)
UTF-8 UTF-8(BOM無し)
Shift_JIS シフトJIS
BINARY テキストでは無いファイル
OPEN FAILED アクセス失敗もしくは0バイト
UNKNOWN 判定不能

手元にあるファイルで試したところ十分に判定してくれています。

Unicodeの基本コード(エンコーディング・符号化)であるUTF-8は互換性のために、英数字(ASCII文字)だけを使用したテキストファイルはANSIと全く同じファイルになります。

もうちょっと簡単に言うと半角英数字だけを使った場合、「UTF-8」でもあり、「Shift_JIS」でもある状態になります。この関数では「UTF-8」を返すようになっています。(多くのテキストエディタではShift_JISと判定していると思います)

では、この辺で。(^-^)o

m325が故障してしまった

マウスがチャタリングを起こすようになってしまいました。

職場で使っていた「m325」

何やら最近使っていて違和感がありました。

どうやら右ボタンがチャタリング(※)を起こすようになってしまいました。

※ボタンの接触が悪くなってボタンを押しているのに離したことになったりクリックがダブルクリックになってしまったりする現象。

仕方がないので「M305」出動

仕方がないので家に転がっていた「M305」を使ってみたら、左クリックがチャタリングを起こしていました。

長持ちした方!?

職場から支給されているのは有線マウスで使いづらいので買い直すしかありません。

「m325」は2012年5月に買ったっぽいので約7年は使えてた感じです。

[link url=”https://popozure.info/20120513/2610″]

けっこう持ったほうですね!

では、この辺で。(^-^)o

[amzn-link asin=”B00E9RLPMW”][amzn-link asin=”B00HVMFERO”][amzn-link asin=”B07DVC25R2″][amzn-link asin=”B07GPJXVQG”][amzn-link asin=”B071Z2TFHX”]