投稿

2021の投稿を表示しています

Bloggr (Use /re/ syntax for regexp search) 

Quick Edit Pencil

HTMLビューの検索オプション

Blogger HTML編集モード で使える 【検索】 【検索置換】 【検索オプション】

  • C + F 検索
  • C + SHIFT + F 検索置換
  • 検索オプション(正規表現/後方参照も可能)
    (Use /re/ syntax for regexp search)


検索オプションで 正規表現 が使える

検索オプション Use /re/ syntax for regexp search の使い方

検索するキーワードを正規表現で指定できる。指定は /正規表現キーワード/ のように正規表現をスラッシュで囲む。正規表現について理解したい方は適宜ググってください。

/<a.*?\/a>/

Aタグで囲まれた文字列を検索する。\/ は / をエスケープ処理した一文字として見る。


置換でも正規表現が使える 後方参照

/<a href="(.*?)".*?>(.*?)<\/a>/
正規表現の () で囲まれた部分は 後から(置換文字列として) 参照利用する事ができる。\/ は / をエスケープ処理した一文字として見る。
  • 一つ目の()は、リンク先
  • 二つ目の()は、リンク文字
  • $番号で参照する

/リンク先は$1、リンク文字は$2/

  • リンク先を $1 で参照
  • リンク文字を $2 で参照

窓で林檎の夢に問題発生

Quick Edit Pencil

VMware Player 14 にて

問題が起きたためコンピュータを再起動しました。このまま起動する場合は、いずれかのキーを押すか、数秒間そのままお待ちください。

霜月に林檎の夢はつひぞ見ぬ 否

─最新のunlocker302を再インストールしてみる

https://www.insanelymac.com/forum/files/file/963-macos-unlocker-v30-for-vmware-workstation/

─次のエラーを吐くので

Getting VMware Tools...
Retrieving Darwin tools from: http://softwareupdate.vmware.com/cds/vmw-desktop/fusion/12.2.1/18811640/packages/com.vmware.fusion.tools.darwin.zip.tar
Traceback (most recent call last):
  File "gettools.py", line 159, in <module>
    main()
  File "gettools.py", line 112, in main
    tar = tarfile.open(convertpath(dest + '/tools/com.vmware.fusion.tools.darwin.zip.tar'), 'r')
  File "tarfile.py", line 1680, in open
tarfile.ReadError: file could not be opened successfully
[8324] Failed to execute script gettools
File not found - darwin*.*
0 File(s) copied

─darwin.iso を手動配置

https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/
の Version 12.2.1 から com.vmware.fusion.zip.tar をDL

─解凍

/payload/VMware Fusion.app/Contents/Library/isoimages/
の darwin.iso と darwinPre15.iso を C:\Program Files (x86)\VMware\VMware Player フォルダにコピー

Windows エクスプローラー 検索ボックス 検索コマンド コマンドライン

Quick Edit Pencil

探していたのはコレです

検索式まとめ:Windows10ファイルエクスプローラー - Qiita

検索式検索対象備考
AAをファイル内かファイル名に含む
AND BAをファイル内かファイル名に含む AND Bをファイル内かファイル名に含む
名前:A AND BAをファイル名に含む AND Bをファイル内かファイル名に含む
AND 名前:BAをファイル内かファイル名に含む AND Bをファイル名に含む
名前:A AND 名前:BAをファイル名に含む AND Bをファイル名に含む
OR BAをファイル内かファイル名に含む OR Bをファイル内かファイル名に含む
名前:A OR BAをファイル名に含む OR Bをファイル内かファイル名に含む
A OR 名前:BAをファイル内かファイル名に含む OR Bをファイル名に含む
名前:A OR 名前:BAをファイル名に含む OR Bをファイル名に含む
NOT 名前:AAをファイル名に含まない
名前:Aファイル名にAを含む
名前:~!Aファイル名にAが含まれない
名前:=Aファイル名がAと完全一致する
名前:~A*ファイル名がAで始まる
名前:~*Aファイル名がAで終わる(拡張子含む)
サイズ:<10mbサイズが10MB未満のファイル
サイズ:>10kbサイズが10KBを超えるファイル
サイズ:>=1MB1MB以上のファイル「<=」は以上だと思ったら「超える」になった。
更新日時:今日更新日時が今日のファイル
更新日時:=2019更新日時が2019年のファイル
更新日時:>=19/01/01更新日時が2019/01/01以降のファイル

NOT 名前:編集済み AND NOT 名前:~*json AND NOT 名前:~*webp AND NOT 名前:~*php

分類:picture AND NOT 名前:編集済み

アマゾンで 写真と違う品が届いたら 【中国発送】

Quick Edit Pencil

商品画像と違うものが届いたら、すぐに、販売元へ連絡せよ

  • 私の場合、あっさり、問題は解決(全額返金)
  • アマゾンでのトラブルは初体験であったが、終始アマゾンカスタマーサービスがフォローしてくれたの安心できた
本記事が貴方の問題解決の参考になれば仕合わせです。
先ずは、落ち着いて、相手方を「性善」前提として、事実を客観的に示して、明確な要求を伝えましょう。

実例紹介



注文品と違う品物が届いたので、すぐに連絡、当日に全額返金処理の連絡がきた


─注文品とは別物、パチモン(粗悪な偽物)が届く
  • アマゾンマケプレにて金属の切断工具を購入
  • 出荷元も販売元も中国の業者
  • 届いた商品は、形だけ真似た無性能な代物
  • パーツを交換しようが調整しようが、実用価値皆無の鉄クズ
─すぐに、販売元へ連絡、連絡当日に全額返金の手続が完了
  • 販売元へ連絡すると、最初にアマゾンカスタマーサービスに繋がった
  • 初動対応はアマゾンカスタマーサービスの中国姓の担当者が応対してくれた
  • 販売元への連絡と説明もアマゾンカスタマーサービスが行ってくれた
  • 以後、販売者からメッセージが届き、最終的に問題は解決した

販売元へ通知した文

最終的に販売元へ通知した内容例

(商品詳細ページ掲載品と異なる商品が納品された件)
(私はAmazonマーケットプレイス保証申請を準備である)
(第一要求、商品詳細ページ掲載品の納品を要求する)
(第二要求、商品詳細ページ掲載品の納品が不可能な場合は全額返金を要求する
注文商品と、実際に届いた商品は全く違います。似ていますが全く違います。
注文商品を納品できなければ、注文はキャンセルとなります。全額返金してください。返金返品に係る費用は全て出品者で負担してください。
注文商品と実際に届いた商品を比較する画像を添付しました。
注文商品は、本体先端部を分割するためのネジがあるが、届いた商品の本体先端部にネジは無く本体先端が一体型であり、刃の形状も大きく異なっている。
注文と違う商品を納品する事は、債務不履行責任(民法415条)に抵触、また実際に販売する商品とは異なる商品の画像を掲載し、消費者を錯誤に陥れる販売行為は、詐欺罪(刑法第246条)に抵触します。
相当期間内に注文商品を納品するか全額返金を行ってください。いずれも履行されない場合は、アマゾンマーケットプレイスでの欺罔被害(行為)を事由として、Amazonマーケットプレイス保証を申請いたします。

連絡応答の記録

─連絡手順
  1. 商品ページの 販売元のリンクから 出品者プロフィール を表示
  2. 出品者プロフィール から 質問する ボタンを押して 必要なステップを踏む(私はチャットを選択)
  3. 今回のケース(出荷元も販売元も中国)では、最終的にアマゾンカスタマーサービスに繋がる
  4. アマゾンのスタッフに日本語で事情を説明、希望(正常納品または全額返金)を伝える
  5. アマゾンが販売元に状況を説明する際に必要となる実物写真を求められる
  6. 画像送信専用のメルアドに画像を添付して送信する
─画像を添付送信、しばらくすると、アマゾンカスタマーサービスからメールが届いた
  • お客様の問題を全力で最後までサポート
  • 期日までに出品者から連絡が無い場合は、お客様の最大利益を守るため全額返金処理
─続いて、販売元からも次のようなメッセージが届いた
  • 性能が不足している場合は、30%返金するので、必要なパーツを自分で購入して、届いた商品の性能を補ってほしい。大変申し訳ない。
─今回の件、そもそも、注文した商品が納品されなかった事が問題なので、次の一点に集中、正当な取引を要求した。
  • 注文品と異なる商品である事を客観的に
─販売元からのメッセージは完全スルーして、前出の文面を販売元に送信
  • メッセージ送信後、しばらくすると、アマゾンから全額返金処理の連絡が入った。翌日には、販売元からもメッセージが届いた。内容は 「返品不要、再見」 だった。
  • ほどなくして、アマゾンカスタマーサービスからもフォローメールが届き、返金処理が完了した旨、返金額と返金方法が知らされた。
─購入した商品のスクショ




─届いた商品の写真




YouTubeの動画を別のアカウントに移動する

Quick Edit Pencil

YouTubeヘルプによると

YouTube チャンネルを別のアカウントに移行する

チャンネルとその動画は、現在のアカウントから別のアカウントに移行できます。なお、管理対象のアカウントや仕事用または学校用のアカウントをお使いの場合、チャンネルを移行することはできません。

錆取り剤と研磨剤

Quick Edit Pencil

なんか良さげな錆取り剤をリストした

KURE ラストリムーバー(アルミNG)
KURE 錆取りジェル(アルミNG)

ワコーズ メタルコンパウンド
マザーズ MAG&ALUMINUM POLISH
ワコーズ タンクライナー

iFrame 高さ自動調整 注意:IE + jQuery

Quick Edit Pencil
読み込み時とリサイズ時に高さを自動調整
  尚、ローカル環境の業務マニュアルに使用するため IE以外では動作しない
	<script src="./js/jquery-3.6.0.min.js"></script>

	<script>
  
	$('iframe')
	.on('load', function(){
	  try {
		func($(this));
	  } catch (e) {
	  }
	})
	.trigger('load');
	
	$(window).resize(function(){
	  try {
    	func($('iframe'));
	  } catch (e) {
	  }
	});
	
	function func(e){
		//画像スクリーンショット
		e.contents().find('img[alt*="配置表"]').attr('width','95%');
		e.contents().find('img[alt*="配置表"]').css('max-width','960px');
		e.contents().find('img[alt*="配置表"]').attr('height','auto');
		//図、図表の変換画像
		e.contents().find('img:not([alt])').attr('width','95%');
		e.contents().find('img:not([alt])').css('max-width','960px');
		e.contents().find('img:not([alt])').attr('height','auto');		
		//オブジェクトウインドウズメディアプレーヤー埋め込み
		e.contents().find('object[id*="WindowsMediaPlayer"]').attr('width','95%');
		e.contents().find('object[id*="WindowsMediaPlayer"]').css('max-width','960px');
		e.contents().find('object[id*="WindowsMediaPlayer"]').attr('height',e.contents().find('[id*="WindowsMediaPlayer"]').width()*0.8);
		//iframeの高さを指定
		e.height(0)
		e.height(e.contents().height() * 1.0);
	}
	
	</script>

vba エディターの設定 コードの表示色をデフォルトに戻す

Quick Edit Pencil

VBAエディタのコード表示色

デフォルトの設定値はこちら

古いExcelのスクショですが、

最新のExcelも変わらず同じ














最近の表示色の記録












配置表メモ

Quick Edit Pencil

配置表旧コード

古い要約の表示[GUI_配置表初期化(コード)]

'要約旧設定///コンフィグ設定欄は非表示
'        Summary = .Item(1).Value '要約(配置番号)
'        Summary = Summary & Worksheets("コンフィグ").Range("コンフィグ_配置表配置番号接尾辞")
'        reg.Pattern = Worksheets("コンフィグ").Range("コンフィグ_配置表配置番号要約非表示")
'        If reg.test(.Item(1).Value) Then
'            Summary = 配置番号から配置名を返す(target)
'        Else
'            Summary = Summary & 配置番号から配置名を返す(target)
'        End If
'        Summary = Summary & " " & MLDIMarrCurrentTaskbarRangeAndFamilyName(1) '要約(氏名)
'///要約旧設定
Function 配置番号から配置名を返す(target As Range) As String '要約旧設定

    If Not IsNumeric(target.Item(1).Value) Then Exit Function

    Dim reg As Object '正規表現オブジェクト作成
    Set reg = CreateObject("VBScript.RegExp")
    reg.Pattern = Worksheets("コンフィグ").Range("コンフィグ_配置表配置名要約非表示文字")

    Dim myCnt As Long
    myCnt = 1
    Do While myCnt <= Range("配置表_範囲カラーピッカー").Count
        Set target = target.Offset(0, 1)
        If Not IsNumeric(target.Value) Then
            If Not reg.test(target.Value) Then 配置番号から配置名を返す = target.Value
            Exit Function
        End If
        myCnt = myCnt + 1
    Loop

End Function

タスクバーの初期色塗りの指定[GUI_配置表初期化(コード)]

'    Dim arrFixed As Variant
'    arrFixed = Split(Worksheets("コンフィグ").Range("コンフィグ_配置表配置固定者"), ",")
'    myStyle = 配置固定スタイル指定コンフィグ指定値(arrFixed, arrName(UBound(arrName))) 'arrName(UBound(arrName))は勤務計画の行番号 配列の最後を表示
'★★★
Function 配置固定スタイル指定コンフィグ指定値(arrFixed As Variant, targetRow As Variant) As Variant '2.要約表示形式

    Dim styleName As Variant
    styleName = ".初期化タスクバー"
    
    Dim reg As Object '正規表現オブジェクト作成
    Set reg = CreateObject("VBScript.RegExp")

    For Each myFixed In arrFixed
    
        reg.Pattern = Split(myFixed, ":")(1)
        If reg.test(targetRow) Then
            styleName = Split(myFixed, ":")(0)
        End If
    
    Next
    
    配置固定スタイル指定コンフィグ指定値 = styleName

End Function

vba 結合されたセルの列を隠す

Quick Edit Pencil
sub セルの名前から列を非表示(myRange As Range)

'    Dim myRange As Range
'    Set myRange = ActiveCell
'    Set myRange = ActiveSheet.Range("名前")

If myRange.MergeCells Then '結合を検証
    
        '結合されている
    
'        Debug.Print myRange.MergeArea.Address
        
        For Each cell In myRange.MergeArea
        
            Columns(cell.Column).Hidden = True
        
        Next
        
    Else
    
        '結合されていない
        
        Columns(cell.Column).Hidden = True
    
    End If

End sub

VBA 正規表現 複数の文字列の繰り返し パターン

Quick Edit Pencil
    Dim v As Variant
    With CreateObject("VBScript.RegExp")    '正規表現を利用する為のオブジェクトを作成
        .Pattern = "^(\d{1,2}r((\d{1})|(\d{1}(15|30|45|00)))(,|$|, )?)+$"   '文字列パターンを設定
         v = .test(Str.Value) '結果を格納
         Debug.Print v
    End With

正規表現 許可文字

Quick Edit Pencil
許可する文字

var str = @"^[0-9a-z@\+\?]+$";

#が入っているのでfalseになる
bool res = Regex.IsMatch("#azd@+", str);

vbaで正規表現

Quick Edit Pencil
参考サイト
 
Sub macro1()
    'RegExpオブジェクトの作成
    Dim reg As Object
    Set reg = CreateObject("VBScript.RegExp")
    
    '正規表現の指定
    With reg
        .Pattern = "[0-9]"      'パターンを指定
        .IgnoreCase = False     '大文字と小文字を区別するか(False)、しないか(True)
        .Global = True          '文字列全体を検索するか(True)、しないか(False)
    End With
    
    Dim str1 As String, str2 As String
    str1 = "東京1大阪2名古屋3"
    str2 = reg.Replace(str1, ",") '指定した正規表現を第2引数の区切り文字に置換
    
    MsgBox str2
End Sub
参考サイト

Sub Sample2()
'正規表現を使用して文字列を検索する
'**Executeメソッド**
 
  Dim Re As Object
  Dim Mc As Object
  Dim msg As String
  Dim i As Long
   
  '正規表現を利用する為のRegExpオブジェクトを作成
  Set Re = CreateObject("VBScript.RegExp")
   
  With Re
    '正規表現パターンの設定
    '[A-Z,a-z,0-9]で全てのアルファベットと0~9範囲の数値
    '「+」で直前に指定した文字の繰り返しを表す
    '[.][o][m]で「.com」という文字を表す
    'この指定で「.com」で終わる文字列という意味になる
    .Pattern = "[A-Z,a-z,0-9]+[.][o][m]"
     
    '複数マッチを有効
    .Global = True
     
    'セルA1に入力された文字列に対して検索を実行する
    Set Mc = .Execute(Cells(1, 1).Value)
  End With
   
  With Mc
    '対象文字の有無を判定
    If .Count > 0 Then
        For i = 0 To .Count - 1
           '対象文字「有り」の場合、文字を取得
           msg = msg & i + 1 & "番目の文字列:" & _
           .Item(i).Value & vbLf
        Next
     Else
        '対象文字「なし」の場合の文字列
        msg = "該当なし"
    End If
  End With
   
  'メッセージボックスの表示
  If msg = "該当なし" Then
      MsgBox msg, vbCritical
    Else
      MsgBox msg, vbInformation
  End If
   
End Sub


参考サイト

RegExpオブジェクトのプロパティとメソッド

Patternプロパティ正規表現で使用するパターンを設定します。.*や[A-Z]、(田中|鈴木)などの文字列です。
IgnoreCaseプロパティ大文字と小文字を区別しないときにTrueを設定します。デフォルトはFalseです。
Globalプロパティ検索対象の文字列内で、文字列全体を検索するにはTrueを設定します。デフォルトではFalseです。
Testメソッド正規表現によるマッチングを行います。パターンと一致した場合はTrueを返します。
Replaceメソッド検索文字列の中で正規表現によるマッチングを行い、成功するとそのマッチした部分を置換文字列と置き換えます。
ExecuteメソッドTestメソッドはマッチングが成功したかどうかをTrue/Falseで返します。Executeメソッドは、マッチングの結果をMatchesコレクションとして返します。MatchesコレクションはMatchオブジェクトの集合です。

MatchesコレクションはExecuteメソッドによって返されるコレクションです。Matchesコレクションには0個以上のMatchオブジェクトが含まれます。つまり、Executeメソッドの結果返ってきたMatchesコレクションにMatchオブジェクトが存在しなかったら、マッチングは失敗したということです。

Matchesコレクションのプロパティとメソッド

CountプロパティMatchesコレクション内でMatchオブジェクトの個数を返します。これを調べるとマッチングの成功/失敗がわかります。
Itemプロパティいわゆる一般的なコレクションのItemプロパティです。普通はMatches(1)のようにアクセスするので使うことはないでしょう。

Matchオブジェクトのプロパティとメソッド

FirstIndexプロパティ最初にマッチングに成功した位置を返します。文字列の先頭は0から始まります。
Lengthプロパティマッチした文字列の長さを返します。
Valueプロパティマッチした文字列を返します。

主なメタ文字とエスケープシーケンス

titletitle
^文字列の先頭
$文字列の末尾
\n改行
.改行を除く任意の1文字
*直前のパターンの0回以上の繰り返し
+直前のパターンの1回以上の繰り返し
?直前のパターンが0回または1回現れる
\d任意の数値
\D任意の数値以外の文字
\s任意のスペース文字
\S任意のスペース以外の文字
()パターンのグループ化
|パターンの論理和
[]キャラクタクラス