C# Excel操作①

 

C# 登録したフォルダのテキストファイルから特定の用語をチェック

VBA 複数のシートを結合

複数のシートを結合後に、特定の列が空白、0、数値以外の行を削除する。

Google Apps Script 定期的にメール送信

特定のフォルダに写真が存在するとその写真を共有設定にしてそのURLを記述したメールを、スプレッドシートに記述されたメールアドレスに送信する。写真が存在するかどうかのチェックは定期的に実行される。

スクリプトファイルを作成して以下を記述、スプレッドシートを作成して送信したいメールアドレスを複数記述する。トリガーで定期的に実行したい時間間隔を設定。

Windows7のクリーンインストール後

2016年7月時点でのメモ。Win7をクリーンインストール(リカバリー)したら自動更新が終わらなくなった。

自動更新を中止する。

KB3020369 を適用する。

https://www.microsoft.com/ja-JP/download/details.aspx?id=46827

https://www.microsoft.com/ja-JP/download/details.aspx?id=46817

適用後、下記を保存

http://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB3125574

ダウンロードするのはWindows 7 for x64-Based Systems 用更新プログラム (KB3125574) 64Bit版
のプログラムで400MB程度ある。

最後にこれを当てる。KB3153199

https://www.microsoft.com/ja-jp/download/details.aspx?id=52214

https://www.microsoft.com/ja-jp/download/details.aspx?id=52232

なんかここまでやっても更新が進まない。なので以下を追加。KB3161608

どうやら、以下はWindows Update Clientの更新らしく、Win10関連のデータ等も入ってくるっぽい。

https://www.microsoft.com/ja-jp/download/details.aspx?id=52976

https://www.microsoft.com/ja-jp/download/details.aspx?id=52974

ここまでやると更新が進んで処理できる。

Visual Studio MsTest

ソリューションで右クリック
> 追加 > 新しいプロジェクト > 単体テスト プロジェクト

を選択する。

新しくできたテストのプロジェクトで右クリック
 > 追加 > 参照 > プロジェクト(ソリューション)
で元々のソリューション(プロジェクト)を追加する。

テストプロジェクトのusingに、
using WindowsFormsApplication1;
の様に追記する。

これでテスト対象となる元々のソリューション(プロジェクト)
のインスタンス等をテストで使える。

(表示されていない場合)メニューのテストからテストエクスプローラーを表示させる。

[TestMethod]と付けて必要なメソッドを追加していく。

 

XMLHttpRequest.send ()でのパラメータについて

主にVBAでの利用。自作の関数で半角を全角に変更して渡す。

  • URLエンコードされているので+はスペースになった。 +は要エンコ
  • &はパラメータの区切りがずれてしまう。&は要エンコ
  • 空白は問題なかった。一応エンコ
  • =も平気みたい。恐らく&以降最初の=でkeyとvalueを結んでいるっぽい。一応エンコ
  • 色々なサイトにある記述してはいけない記号類も上記以外は問題なく入った。
  • %は単独なら問題ない。エクセルが%を計算式と認識している場合や、%といくつかの数字が連続すると登録されない場合がある。計算式はそのまま渡さない。

JSONメモ

正しいコンテンツタイプ
header(“Content-Type: application/json; charset=utf-8”);

ただ、ダウンロードされてしまうので、開発時以下。
header(“Content-Type: text/javascript; charset=utf-8”);

拡張子は *.json
データ型は6つある。
キーはダブルクォーテーション囲い、キーと値は:(コロン)で区切る。

  • 文字列(2重引用符)
  • 数値(10進数のみ)
  • true/false
  • null
  • オブジェクト {“key”: “value”}
  • 配列 [1,2,3,”A”,”B”,”C”]

 

 

BitDefenderコマンドライン版

BitDefenderコマンドライン版を以前作った時のメモがあったのでコピーしておく、Win7では動かないよう。

以下かからexeを保存。
http://uiuicy.cs.land.to/download/bitdefender_free_v10.exe

msiの解凍は以下から
http://uiuicy.cs.land.to/msi2file.lzh

以下の8つファイルを取り出しておく。

avxdisk.dll
avxs.dll
avxt.dll
bdc.exe
bdcore.dll
bdss.exe
bdupd.dll
libfn.dll

http://uiuicy.cs.land.to/bd_nt.exe

から保存したファイル類を上記の8つのファイルと一緒のフォルダへ

Electronの使い方

Electronを前に一度使った時のメモ。まったく忘れしまったが一応その時のメモを残しておく。

Nodeインストール

nodejs.orgからNode.jsをインストール

node -v

npm -v
必要ならバージョンアップ、
npm install -g npm (gはグローバルでパスが通る)
npm update -g npm

npm -g install electron-prebuilt (初回のみ)
npm install electron
これを実行したフォルダにインストールされる。

appフォルダを作成し、appフォルダの中で、
npm init -y 

package.jsonの中の、”main”: “index.js”がエントリーポイントとなるので、
appフォルダの中にindex.jsを作成する。
さらにappのフォルダの中にindex.htmlを作る。

ここまでできたら electron . と記述で立ち上がる。
appフォルダで上記を実行する。

index.js

index.html

アーカイブ化

npm install -g asar (初回のみ)

asar pack . ./bin.asar (appフォルダで)

electron bin.asar で立ち上がる。

ここから配布用

npm i electron-packager -g (初回のみ)

electron-packager . bin –platform=win32 –arch=ia32,x64 –version=0.36.1 

appフォルダで実行 何かインストールしている模様

(環境特有のファイルをインストールしている模様で初回だけ時間がかかるアーキテクチャとかバージョンを変えたらまた時間かかるかも)

そのた

メニュー追加

index.js内で以下のように指定
mainWindow.loadUrl(‘http://electron.atom.io/’);