Search

2019/08/29

Surfaceのタイプカバーキーボードが英語の設定になったとき

Windowsアップデートのせいか入力がおかしい。
アットマークが出ない。
セミコロンも出ない。
英語の101キーボードで認識されている。
下記ののどちらからの方法で解決できるはず。

Windows10の言語の設定から106を設定する
https://nj-clucker.com/input-at-mark-on-surface-type-cover/

レジストリで設定
https://windows-podcast.com/sundayprogrammer/archives/1277


2019/05/30

ZOZOのオックスフォードシャツを買おうとした:先にスーツを買う必要あり

ZOZOのオックスフォードシャツがいいらしい。
買おうとしたら「ZOZOスーツ」が必要らしい
ZOZOスーツは0円で送料200円。
ひとまずZOZOスーツだけ買った。
続きはまた今度に。

2019/05/26

アマゾンの激安レシートプリンターMJ-5890Gのレビュー:普通に使えるスマホ印刷もできる


購入したのはこれ。3,100円くらいでした。
Symcode USB サーマルレシートプリンター ESC/POSプリント指令セットを兼用
裏面の写真はこちら。型式はMJ-5890Gでした。
USB端子とレジスター接続の端子があります。





仕様
■58mmのサーマルプリンター ※Φ50mmまで使えそう
■USB接続
■12V3.0Aの電源アダプター


良い点
■USB接続でWindows10 64bitから印刷可能
■Google クラウドプリントでスマホから印刷可能
■AndroidアプリPrinterShareでスマホのいろんなアプリから印刷可能

悪い点
■説明がほぼ無し。自力で調べる必要あり
■やすっぽい機体

・・・といった感じなので、値段相応のプリンターです。
でも、思った以上に使えたのでヤフオクで中古を買うよりもいいかもしれません。
ヤフオクの中古だとWindows10の64bitのドライバーが無いものもあるためです。




アマゾンで購入したらすぐに在庫切れになったので同等品を示します。
3900円くらい
Symcode 58MM USB サーマルレシートプリンター ESC/POS プリント指令セットと両立

こちらは型式が5890Kと違うのですが値段がほぼ同じなので同等に使えると思います。
KKmoon POS-5890K 58mm サーマルプリンタ USBサーマルプリンタ 領収書ビルチケット POSキャッシュドロワーレストラン 小売印刷







型式のMJ-5890からウェブ検索でWindows向けのドライバを探す。
商品情報はここだと思う。Zjiangさん。
ZJ-5890G Thermal Printer
仕様を見るとタイプミスの間違いが何箇所かあります。
Print Width 48mm でなくて58mmのはず。
ドライバーをクリック。
一番上のドライバーがWindows用なのでこれをダウンロードを選ぶ。


インストール途中でこんな感じで選ぶ。
下二つのチェックは外したほうがいいと思う。
USB001で印刷NGなときはUSB002に設定を変えればいいと思う。

Windowsから印刷でZJ58を選んで印刷実行で印刷できました。
簡単!

■Androidスマホのクラウドプリントを設定する
WindowsパソコンからGoogleのアカウントでクラウドプリンタを設定する
1 Chromeを起動する
2 設定 > 詳細設定 > クラウドプリント >クラウドプリンタデバイスを管理
3 新しいデバイスの右側の「管理」をクリックで印刷したいプリンターを追加する
※わからないときは検索して調べてみてください。

Androidスマホの設定>接続済の端末>印刷>サービスを追加でクラウドプリントをインストールする。
AandroidスマホからChromeやフォトなどGoogleアプリで印刷、または共有>印刷を選択すると、クラウドプリントが表示される。
印刷したいプリンターを選んで印刷する。
これでスマホから印刷できました。
印刷するときは、WindowsパソコンのChromeを起動したままにする。
プリンターサーバーに役割になるので。

■AndroidアプリのPrinterShareの設定
クラウドプリントはGoogleのアプリ以外ではできないもののある。
また、細い設定ができないときもある。
そこで、PrinterShareをインストールする。
※使っていてクラウドプリントで十分ならPrinterShareはインストール不要です。
PrinterShareをインストールして、クラウドプリントを設定するだけ。
印刷するときは、共有>PrinterShareでOKです。


[

2019/05/25

会社設立のときの書類作成おすすめツール:会社設立Freeeと手順と書類のリスト

書類を作るのは会社設立 freeeがすごく簡単で楽!
全部が使えるわけではないですが、まずは試してみるのがいいと思う。

提出書類はPDFファイルにPDF-XChange Viewerとかで
コメントをコピペで追加して印刷する。

法人の印鑑は実印・銀行員・認めの角印の3種を作るべき。
ゴム印は分割できるのを買うべき。


創業についての補助金とか助成金が各種あるので申請する。
市役所・役場でや中小企業庁の関連組織で聞いてみる。
商工会とかよろず支援拠点がいいと思う。


会社設立 freee

会社設立の手順と書類のリスト
下記の4箇所に出す。
全部やるときは司法書士さんにお願いする。
電子定款の作成は行政書士さんにお願いできる。

■法務局
○設立届出
添付:定款 ※電子定款がおすすめ!
添付:代表者の印鑑証明書
添付:代表者就任
添付:払込書
添付:本店所在地、資本金の書類
○印鑑登録
※会社実印と個人実印を押す

■税務署
会社設立 freee を使うととても楽!

法人番号が確定してから出す
○青色申告
○設立届出
添付:定款の写しのコピーと登記事項証明書の写しのコピー

役員報酬か給与が決定してから
○給与支払事務所
○源泉の特例

固定資産があるときに随時
○減価償却


■都道府県税事務所
○設立届出
添付:定款の写しのコピーと登記事項証明書の写しのコピー。返してくれる。

■市役所か役場
○設立届出
添付:定款の写しのコピーと登記事項証明書の写しのコピー。返してくれる。


【住所地と地番について】
法務局へ提出する本店所在地は「住所地」で書いたほうが良さそう。
法務局は「何でもいい」そうなので、郵便が届きやすい住所地が良いと思う。
土地の登記から地番を知って、そこから役所で住所地を聞いてみる。

住所地:市役所・役場で問い合わせ
地番:法務局で問合せ


【電子定款について】
すごいおすすめ。
法務局に一番最初に提出するときのみ認証された署名が必須。
それ以降はPDFで自由に作ってOK。
写しが必要なときは、印刷して割り印を教えて原本証明を最後につける。
でも、たいていは印刷するだけでOK。



2019/05/20

備忘録MerakiGoGR10の仕様

Meraki Goが面白そう。
英語バージョンだけデータシートはここ。
https://documentation.meraki.com/Go/Meraki_Go_Indoor_WiFi_Access_Point_-_GR10_Datasheet


“自分でCisco”を2万円台で! 5月発売のWi-Fiアクセスポイント「Meraki Go」を試す
https://internet.watch.impress.co.jp/docs/column/shimizu/1182024.html

2019/05/04

A3印刷のできる複合機を選んでみる:MFC-J6583CDWで決定

値段とそれなりの性能のA3が印刷できる複合機を選ぶ。
会社で使うようなでっかいのでなくて家庭用として。

条件

  • コピー、FAX、プリンターとして使える
  • A3プリントができる
  • A3コピーができる
  • 前面給紙トレイにA3対応
  • 互換インクで維持費が安い
  • 無線LANでつながる
  • 印刷性能はそれなり

結論

1:A3でいいならMFC-J6583CDW
2:A3ノビが欲しいならPX-M5080F





ブラザー プリビオ MFC-J6583CDW

  • 29,000円くらい
  • 前面給紙トレイが1段
  • カラーで毎分20枚印刷

ブラザー プリビオ MFC-J6983CDW

  • 41,000円くらい
  • 前面給紙トレイが2段
  • カラーで毎分20枚印刷

次点1:ビジネスインクジェット PX-M5080F

  • 27,000円くらい
  • A3ノビ対応!!!
  • 印刷速度が10枚/分とブラザーより遅い・・・
  • 前面給紙トレイが1段

次点2:ブラザー プリビオ MFC-J5630CDW

  • 27,000円くらい
  • コンパクトだけど、A3コピーができない!!
  • でもコンパクトなのはいい!
  • 前面給紙トレイが1段
  • カラーで毎分20枚印刷


大容量インク対応のMFC-J6997CDWにしようと思ったが、購入時についてるインクは
量が少なくてすぐに購入が必要。
差額を考えると互換インクでいいや、と思った。


2019/04/24

合同会社の登記申請書のオンライン申請:公文書フォルダは無い

株式会社のオンライン申請がとても分かりやすいです。
オンライン申請入門 Ryuichi Sakamoto様
https://rsmay.com/online_sin/kaisha_seturitu/frame.html

2015年の情報ですが、とても参考になります。
合同会社設立をオンラインでやってみるメモ iRSS様
http://irss.hatenablog.com/entry/20150117/1421499593

2019/04/23

法人設立の申請書の作成:申請用総合ソフトを使うと楽になる

法務局への法人設立の登記申請は専用のソフトを使うと楽だと思う。
PDFとかの書類もあるけど、どこに何を書けばいいのがわかりづらい。
印刷した書類に手書きで書き込みならがオンラインで申請すると良いと思う。
合同会社のように項目の少ないものならご自分で申請できるかもしれない。
定款は行政書士さんに電子定款の作成依頼をすれば1.5万円以下で済むはず。
司法書士さんだと、5万円くらいの手数料になる。
株式会社なら司法書士さんへの依頼の方が絶対に良い。
書類が多い。

合同会社は費用を抑えて設立可能。
ただし、代行手数料は株式会社と同じなので書類作成は自分でやる。
電子定款の作成は代行で1-1.5万円なので依頼した方がいいと思う。

株式会社:24万円=定款認証5万円+登録免許税15万+定款謄本手数料0.2万
合同会社:6万円=登録免許税6万


申請する前に、法務局で最終チェックを受けてることが重要。
ネット情報は鵜呑みにしない。
かならず法務局で確認する。
法務局での相談も可能。
相談には事前の予約が必要なので電話で聞いてみよう。

各法務局のホームページ
http://houmukyoku.moj.go.jp/homu/static/kakukyoku_index.html

【事前にやっておくこと】

※名刺と作る!
創業だから肩書も商号も無いけど必要です!
名前、メアド、電話番号だけでもOK。
創業のときにしか会えない人が多いので。コネクション重要。

最初の名刺はこれでOK。厚紙印刷を手でカットでもいいよ!
エーワン マルチカード 名刺用紙 両面 クリアエッジ 厚口 フチまで印刷 100枚分 51677
正式な住所とか決まったなら名刺を発注しよう!とにかく配る!
片面名刺印刷 モノクロ・ビジネス名刺 「type25」-1セット100枚


※法人の印鑑とゴム印を発注する!
登記申請と一緒に実印の登録もするよ!
実印・銀行印・認印の3本がある方が何か便利。
柘植なら3本セットで2,700円くらい。

登記したあとに、住所と商号のゴム印もあったほうがいいよ!
これは消耗品なので3,200-4,000円くらいで買い替えていく。



※申請書で分からないことはいつでも法務局で電話で問い合わせする!!

■登記申請のPDFデータなど書類入手して印刷
■全体を読んで書いてみる
■書き終わったら一通り読んで正誤チェック
■オンライン申請を入力して一時保存をやってみる
■一時保存した内容をプレビューして印刷
■全体をやってみたら法務局へ書類を持ち込んで最終チェック
■日にちを決めて申請する
※税務署とかほかにも申請が必要なので確認しておく。役員報酬の金額がすごく大事だと思う。





書類一式はここ。
ダウンロードして印刷しよう。

法務局トップページ商業・法人登記申請手続
http://houmukyoku.moj.go.jp/homu/touki2.html


商業・法人登記のオンライン申請について
http://www.moj.go.jp/MINJI/minji60.html



申請用総合ソフトの画面はこんな感じ。
「商業登記申請」 >
「登記事項提出書(登記申請用)(会社用):株式会社,特例有限会社,
合名会社,合資会社,合同会社,外国会社【署名不要】」
を選択して「選択」をクリック
あとは各事項を記入するだけ


 詳しくは「簡易マニュアル」を読むと分かりやすい


【注意:電子定款は自分で作れるのか?】
やろうと思えば可能です。
電子定款ならPDFデータに署名を入れるだけなのでマイナンバーカードがあればOK。
と、法務局の相談のときに言われた。
でも、定款の内容チェックはしてもらった方が良いと思う。
ですので、行政書士さんに依頼した方がいいと思います。
1万円か1.5万円でやってくれます。

会社設立後の定款の変更を考えるなら、自分でやれるようにしてもいいかも。
設立後の登記変更は自分でできます。
分からないことは法務局に電話すれば教えてくれるはず!

2019/04/12

Zenfone5を買ったのでレビュー:充電器とUSBケーブルは買う!

Zenfone5を買ったので簡単なレビュー。
中古で3万円。付属品はなし!
基本は雑文なので期待しないで!

結論:サクッと動いて写真がキレイで使いやすい!
ファーウェイのスマホはコスパがいいけど、抵抗があるならASUSで。
詳しいことはZenfone5のwikiを。



アマゾンの新品だと4.6万円くらい、価格コム最安で4.2万円くらい。
expansysだと海外版が3.6万円くらいで新品が買えるよ。
付属品なし傷アリの中古のを3万円で買った。




充電器とUSBケーブルはアマゾンで買おう!
Anker PowerPort 2 Quick Charge 3.0
Rampow USB Type C ケーブル【1m/黒/保証付き】USB3.1

ケースはお好みのを買おう!何でもOKです。
ASUS ZenFone 5 ZE620KL ケース Simpeak ZenFone 5/5Z/ZE620KL/ZS620KL

「動作」
ヌルっとサクっと動く。
Android9にしたらより快適。
ホームアプリにMicrosoftLauncherを使った。
全然問題なく使える。
ホームアプリ入れると機種を変えても違和感がほぼ無い。

「サイズと重量」
思ったほど大きくない。
でもポケットに入れると邪魔。
重くは無いけど軽くない・

「カメラ」
写真キレイ。
暗くてもキレイ。
すごく速く撮影できる。


Zenfone5特有の機能を使っていないので、普通に使えるだけかもしれない。
ホームアプリを使ってるけど、とても素直に動いている。
Androidを素のままで使ってるような感じがとても好きです。


2019/03/21

アマゾンのビジネスアカウントのさらっとレビュー:締め払が使える

アマゾンのビジネスアカウントを使ってみたレビュー。
そんなにたくさん使っていないので、さらっとレビュー。

私が感じたアマゾンのビジネスアカウントのメリットはこれ。
・カード無しで締め払いできる。便利!
・請求書に発注のコードを記載できる
・法人向けの割引がある、らしい


メインの機能は、購買の承認と購買の分析です。
私としては締め払いが使えるだけでも便利だと思います。


ビジネスアカウントだけなら無料で作れる。
社名や個人事業主の屋号で登録できるし、請求書にその名称が記載される。
でも、Businessプライムに入らないとすべての特典を十分に使えない。
と思ったけど案外便利。
特に締め払いが便利。カード不要で締め払で購入できる。
締め払の詳細はこちらから。

2,000円以上ならBusinessプライムに加入しなくても送料無料だし。
アスクルみたいな感じでアマゾンに発注できる。
限度額は数万円くらい。アマゾンに連絡して手続きすると上限を増やせる。


あと、請求書に社内の発注番号を入力できるところ。
コードを記載してくれる。
社内で使うもの、プロジェクトごとに管理、とかできる。
複数人で発注するときは、結構便利だった。
社内の発注コードを決めておくととても効率的。

大きな会社で使っている承認システムとリンクできるのもすごい。
アマゾンはすごいと思った。
でも、小企業ではそんなの無いのでメリットは感じないです。


法人向けの割引は個数が多ければ使えたと思います。
MISUMIを使うことが多かったのであまり感じませんでした。
MISUMIは専門的な機械部品が多く、送料無料なので。





ビジネスアカウントは無料で作れるので、まずは試して使ってみては?
Businessプライムは有料で、価格は最後の書いておきます。
結構高いと思いますが、企業であれば便利なのかも。

ビジネスアカウントの設定画面があります。
これです。高機能です。

Businessプライムの料金のプランはこちら。
ユーザー数によって異なる。
3ユーザーで3,900円/年は制限あり。
10ユーザー13,500円/年からフル機能。

雑文ですみません。雑記的なブログです。

2019/03/18

PDFSharp1.5で日本語を使うときはTTFファイルを指定する:FontResolver

.NETでPDFを出力するライブラリ。
探してもほとんどみつからない。
PDFSharp、または、iTextSharp-LGPL 。
※PDFSharpはMITライセンス。
※iTextSharp 5はAGPLなのでライセンス的に使いづらいかも。


PDFSharpの日本語フォントの参考情報はこちら。

C#で日本語をPDFに出力する(PDFSharpを利用)
PDFSharp MigraDoc を使ってC#でPDF生成
FontResolverで指定すれば日本語フォントも使えるが、
改行がうまくいかないらしい。
TTFファイルを埋め込みリソースとして使うとき。
Embedded resourceみたいな指定でやる。


PDFSharpはGDIなのでサーバーではあまり良くないっぽい。
.NETの日本語対応のPDF出力ライブラリは有料を使うしかないかも。
簡単なのはPDFSharpで対応。


直接にTTFフォントのファイルパスを指定するのも可能。
C#で書いたコードを無くしたので、メモを書いておく。
改行が正しくいけばいいのにと思う。
Loading a Font with PdfSharp .Net Standard preview from Xamarin.Forms fails: No appropriate font found


参照サイトのをそのままでコピペして少し変更。
呼び出し元でFontResolver を呼び出す。
PdfSharp.Fonts.GlobalFontSettings.FontResolver = new FileFontResolver ();

この行でデフォルトのフォントを設定しない。
public string DefaultFontName => throw new NotImplementedException();

代わりに下記のreturnでデフォルトのフォントを指定する。
return PlatformFontResolver.ResolveTypeface("Arial", isBold, isItalic);

この箇所でフォントファイルのフルパスを入れる。
return new FontResolverInfo("Fonts/Verdana-BoldItalic.ttf");


public class FileFontResolver : IFontResolver // FontResolverBase
{
    //public string DefaultFontName => throw new NotImplementedException();

    public byte[] GetFont(string faceName)
    {
        using (var ms = new MemoryStream())
        {
            using (var fs = File.Open(faceName, FileMode.Open))
            {
                fs.CopyTo(ms);
                ms.Position = 0;
                return ms.ToArray();
            }
        }
    }

    public FontResolverInfo ResolveTypeface(string familyName, bool isBold, bool isItalic)
    {
        if (familyName.Equals("Verdana", StringComparison.CurrentCultureIgnoreCase))
        {
            if (isBold && isItalic)
            {
                return new FontResolverInfo("Fonts/Verdana-BoldItalic.ttf");
            }
            else if (isBold)
            {
                return new FontResolverInfo("Fonts/Verdana-Bold.ttf");
            }
            else if (isItalic)
            {
                return new FontResolverInfo("Fonts/Verdana-Italic.ttf");
            }
            else
            {
                return new FontResolverInfo("Fonts/Verdana-Regular.ttf");
            }
        }
        //return null;
        return PlatformFontResolver.ResolveTypeface("Arial", isBold, isItalic);
    }
}


雑文ですみません。雑記的なブログです。

2019/03/10

Nova 3とZenFone Max Pro (M2)の比較:充電の端子で選ぼう!

ミッドレンジのスマホのHuawei nova 3ZenFone Max Pro (M2)の比較

2019/03/31追記)
注意! ZenFone Max Pro (M2)はBAND19はNGとの情報多数!!
ASUSのWEBサイト情報が間違いで実はインド版ZB630KLらしいです。
「ZenFone Max Pro M2 バンド19」で検索して最新情報を見てください!
となるとNova3した選択できないかも?

2019/04/06)
交換になった!
ZenFone Max Pro (M2) (ZB631KL)が特定の周波数帯を使用できない不具合についてのお知らせと対応について



個人的にASUSが好きだけどType-Cは外せない。
なので、Zenfone5にした!



価格:nova3が5万円くらい、MaxProM2が4万円くらい
充電:nova3はType-C、MaxProM2はmicroUSBの10W対応
容量:nova3は128GB、MaxProM2は64GB
結論:値段高くて充電が速いnova3か値段安くて充電遅いMaxProM2で選ぼう!

※TYPE-Cの高速充電が重要か!
※中古の未使用品でいいならどっちも同じくらいの値段。
※ZenFone Max Pro M2とZenfone Max Pro M1 はちがうよ!
Asus Zenfone Max Pro (M1) :2018年12月ごろ発売
Asus Zenfone Max Pro (M2) :2019年3月ごろ発売

※個人的には、たぶんMAxProを買うと思う。microUSBのがいいので



Huawei nova 3の特徴
充電の端子:USB 2.0 Type-C

https://consumer.huawei.com/jp/phones/nova3/specs/

4GB-128GB
幅:約73.7 mm縦:約157 mm厚さ:約7.3 mm重さ:約166 g (バッテリー含む)
約6.3インチ FHD+
(2340 x 1080ドット) / TFT
DSDV対応
Bluetooth® 4.2 with BLE (aptX, aptX HD, HWA対応)
Wi-Fi 802.11a/b/g/n/ac 準拠 (2.4 GHz / 5 GHz)


ZenFone Max Pro (M2)の特徴
充電の端子:microUSB
https://www.asus.com/jp/Phone/ZenFone-Max-Pro-M2/Tech-Specs/
※日本発売はインド版ZB630KLらしいのでこちらだ正しいかも?バンド19に非対応?
https://www.asus.com/in/Phone/Zenfone-Max-Pro-M2-ZB630KL/Tech-Specs/

4GB-64GB
サイズ:75.5x157.9x8.5mm 175g

6.3型ワイド IPS液晶 (LEDバックライト)
2,280×1,080ドット (フルHD+)
DSDV対応

Bluetooth®機能: Bluetooth 5.0
無線LAN: IEEE802.11b/g/n (周波数帯域:2.4GHz)



■Huawei nova 3の特徴の通信機能
FDD LTE: B1 / 2 / 3 / 4 / 5 / 7 / 8 / 12 / 17 / 18 / 19 / 26 / 28
TDD LTE: B38 / 40 / 41
キャリアアグリゲーション対応、auVoLTE対応予定 ※1
WCDMA: B1 / 2 / 4 / 5 / 6 / 8 / 19
GSM: 850 / 900 / 1800 / 1900 MHz

*2つのカードスロットのうち、いずれかをプライマリまたはセカンダリSIMカードに対応するように設定できます。
*ネットワーク上で利用可能な機能は、ご契約のSIMの通信事業者のネットワークおよび関連サービスによって異なります。
※1:ソフトウェア更新による。



■ZenFone Max Pro (M2)の通信機能
FDD-LTE
B1/B2/B3/B4/B5/B7/B8/B12/B17/B18/B19/B28
TD-LTE
B38/B41
キャリアアグリゲーション
2CA
W-CDMA
B1/B2/B4/B5/B6/B8/B19
GSM/EDGE
850/900/1,800/1,900MHz






2019/03/09

EPPLUSでの画像を挿入できた

EPPLUSでの画像を挿入できる。
.Drawings.AddPicture()を使うはず。
しかし、縦寸法がズレる。
ExcelのCOMでも同じだったけど、縦の解像度?がフォントの高さで規定されてるらしい。
だったような・・・。


Adding images into Excel using EPPlus
https://stackoverflow.com/questions/11588704/adding-images-into-excel-using-epplus

EPPlusで画像を置いてみる(2) moc67様
http://moc67.blog.fc2.com/blog-entry-12.html


雑文ですみません。雑記的なブログです。

ワッフルはFONT×FAN HYBRIDに入ってた

記録。

ワッフルというフォントがいいな!と思った。
調べるとFonts66雪月花に収録されている。
もっと調べたらFONT×FAN HYBRIDに入ってた。
たくさんありすぎて覚えてない・・・。

ベクター:Fonts66スペシャルパック「雪月花」/28書体」 6980円
アマゾン: FONT×FAN HYBRID 5 1万円ちょっと

C&Gブーケが好きなので似ているフォントを探してみた。
ワッフルがいいなと思った。



日本語フォントで太めでにょろっとしてるのが使いたい。
丸ゴシックでも太い明朝でもないもの。
ブーケばかりでなく、ワッフルも使っていきたい。
FONT x FAN HYBRIDなら会社のWEBサイトの画像とか印刷物に使える。
動画とかダメなのでそこはほかのを使おう。

2019/03/06

ListViewの項目名に背景色をつける:DrawColumnHeader()で四角を描く

ListViewのSubItemsでなく、ColumnHeaderに背景を色付けする。
SubitemsはSubItems.backgroundcolorで背景の指定可能。
Columnheaderはプロパティが無いので、
listView.OwnerDraw = true として描画命令で色付きの四角を自分で描く。

listView.OwnerDraw = trueにしただけだと何も描かなくなる。
listView1_DrawColumnHeaderとlistView1_DrawItemを使う。
e.DrawDefault =true とすれば普通に描く。
ifとかで条件を設定して背景を描く。



参考リンク)
ListView ヘッダ部の背景色の指定
https://teratail.com/questions/109102

Default implementation for ListView OwnerDraw
https://stackoverflow.com/questions/9066408/default-implementation-for-listview-ownerdraw

ListView.OwnerDraw Property
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.listview.ownerdraw?view=netframework-4.7.2









        void LsvDataDrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
        {
            
            //標準の背景を描く
            e.DrawBackground();
            
            //項目名に色付け:商品コード
            if(e.ColumnIndex == 2 )
            {
                // 四角を描く
                e.Graphics.FillRectangle(Brushes.LightBlue, e.Bounds);
                StringFormat sf = new StringFormat();
                sf.LineAlignment = StringAlignment.Center;
                sf.Trimming = StringTrimming.EllipsisCharacter;
                sf.FormatFlags |= StringFormatFlags.NoWrap;
                // 文字列を描く
                e.Graphics.DrawString(e.Header.Text, LsvData.Font, Brushes.Black, e.Bounds, sf);
                
            }
            //項目名に色付け:数量、カウント
            else if( e.ColumnIndex == 4) 
            {
                e.Graphics.FillRectangle(Brushes.LightCoral, e.Bounds);
                StringFormat sf = new StringFormat();
                sf.LineAlignment = StringAlignment.Center;
                sf.Trimming = StringTrimming.EllipsisCharacter;
                sf.FormatFlags |= StringFormatFlags.NoWrap;
                e.Graphics.DrawString(e.Header.Text, LsvData.Font, Brushes.Black, e.Bounds, sf);
                
            }
            else{
                e.DrawDefault =true;
            }

        }
        
        

         void LsvDatatDrawItem(object sender, DrawListViewItemEventArgs e)
        {
            e.DrawDefault = true;
        }


2019/03/02

KET.ApplicationでWPS Officeは動く:powershell ComObject

変なタイトル。
すっかり自分で書いた記事を忘れていたのでタイトルに書いた。
WPS Officeのメリット:COMコンポーネントがPowershellで使える

Excelが無くてKingsoft Office、WPS OfficeのあるWindowsパソコンで
powershellでexcel操作は下記。
$excel = New-Object -ComObject KET.Application;
$book = $excel.Workbooks.Add();
$sheet = $excel.Worksheets.Item(1);
#---処理
$book.SaveAs("C:\tmp\Test2.xlsx");
$book.close();
$excel.quit();

参照リンク
ActiveX COM Automation doesn't seem to work in 2013
http://bbs.kingsoftstore.com/forum.php?mod=viewthread&tid=1898

Excelならこっち。
$excel = New-Object -ComObject Excel.Application

セルに値を入れるだけならEPPPLUSが簡単だけど、
画像とか操作するならComの方がやりやすいと思う。


2019/02/23

C#.NETでListViewにクリップボード機能のコピーを追加:選択範囲のみCrt+Cでデータをクリップボードへ

タイトルのまま。
ListViewの選択範囲をクリップボードへコピー。
そのままエクセルに貼り付けします。

asのキャスティングはnullを返すのってこういうふうに使うものなのか。
C# Tips-キャストすべきかasするべきか-

あと、コラムヘッダーの設定方法を完全に忘れてた。
View=View.Detailsにしとかないとコラムヘッダーが表示されない。




stackoverflowを参考。

How can I Copy to clipboard, a ListView's multiple selected items?
https://stackoverflow.com/questions/30209283/how-can-i-copy-to-clipboard-a-listviews-multiple-selected-items

雑文ですみません。雑記的なブログです。
  1.         public MainForm()
  2.         {
  3.             //
  4.             // The InitializeComponent() call is required for Windows Forms designer support.
  5.             //
  6.             InitializeComponent();
  7.             
  8.             //コラムヘッダーの設定
  9.             this.lsvTEST.View = View.Details;
  10.             this.lsvTEST.GridLines = true;
  11.             this.lsvTEST.MultiSelect = true;
  12.             this.lsvTEST.FullRowSelect = true;
  13.             int maxCol = 3;
  14.             System.Windows.Forms.ColumnHeader[] colHd = new System.Windows.Forms.ColumnHeader[maxCol];
  15.             for(int i=0;i<maxCol;i++)
  16.             {
  17.                 colHd[i] = new System.Windows.Forms.ColumnHeader();
  18.                 colHd[i].Text ="item"+i.ToString("00");
  19.             }
  20.             this.lsvTEST.Columns.AddRange(colHd);
  21.             string[] item = new string[3];
  22.             for(int ii = 0;ii<20;ii++)
  23.             {
  24.                 item = new string[3]{"AA"+ii,"BB"+ii,"CC"+ii};
  25.                 this.lsvTEST.Items.Add( new System.Windows.Forms.ListViewItem(item) );
  26.             }
  27.             
  28.         }
  29.         
  30.         //キー動作
  31.         void LsvTESTKeyDown(object sender, KeyEventArgs e)
  32.         {
  33.             if (e.Control && e.KeyCode == Keys.C)
  34.             {
  35.                 var builder = new System.Text.StringBuilder();
  36.                 foreach(var selectItem in this.lsvTEST.SelectedItems)
  37.                 {
  38.                     ListViewItem item = selectItem as ListViewItem;
  39.                     if( item != null)
  40.                     {
  41.                         foreach(ListViewItem.ListViewSubItem itemSub in item.SubItems)
  42.                         {
  43.                             builder.Append(itemSub.Text);
  44.                             builder.Append("\t");
  45.                         }
  46.                         builder.AppendLine();
  47.                     }
  48.                 }
  49.                 Clipboard.SetText(builder.ToString());
  50.             }
  51.             
  52.         }

2019/02/09

ExcelDataReaderでxlsとxlsxとcsvを読み込み:powershellでも動くよ

C#でxlsとxlsxとcsvを読み込み。
using ExcelDataReader;しておく。
たぶんpowershellでも使えると思う。
出力はEPPLUS使う。




xlsは読み込みだけでいいと思う。
出力はxlsxで。
でも、元ファイルはxlsもあるのでExcelDataReaderを使う。
ExcelDataReaderのAsDataSet()は使わないのでreaderを回す。
GetInt32()はキャストしてエラーになるので、GetValue()をvarで受けて
tostring()でキャストする。

次の1行に移動して読む
Read() reads a row from the current sheet.

指定の列のセルを読む
GetValue() returns a value from the current row as an object, or null if there is no value.

次のシートに移動
NextResult() advances the cursor to the next sheet.

コラムの個数
FieldCount returns the number of columns in the current sheet.

行の個数
RowCount returns the number of rows in the current sheet. This includes terminal
empty rows which are otherwise excluded by AsDataSet().






ExcelDataReader
https://github.com/ExcelDataReader/ExcelDataReader

EPPLUS
https://github.com/JanKallman/EPPlus


ExcelDataReader.dllはここから。
https://www.nuget.org/packages/ExcelDataReader/
ExcelDataReaderのAsDataSet()使うならここからdll入手する。
でも、getValueでもいけるよ。
https://www.nuget.org/packages/ExcelDataReader.DataSet/


using (FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read))
   {

    using (IExcelDataReader reader = ExcelReaderFactory.CreateReader(stream))
    {
     
     m_aryBaseDatMaxCol = reader.FieldCount;
     m_aryBaseDatMaxRow = reader.RowCount;
     
     if( reader.FieldCount < MAX_NUM_COL && reader.RowCount < MAX_NUM_ROW)
     {
      int i = 0;
//      do {
      while (reader.Read()) {
       for(int j = 0 ; j < reader.FieldCount; j++)
       {
        var val reader.GetValue(j)
        m_aryBaseDat[i,j] = val.Tostring();
       }
       i++;
      }
//      }  while (reader.NextResult());//advances the cursor to the next sheet.
     }
    }
syntax2html

powershellだとこんな感じ?
Set-ExecutionPolicy RemoteSigned -Scope Process
[Reflection.Assembly]::LoadFile("c:\tmp\ExcelDataReader.dll");

$path = "c:\tmp\test.xls";
$f = New-Object IO.FileStream($path, [System.IO.FileMode]::Open, [System.IO.FileAccess]::Read)

$reader =[ExcelDataReader.ExcelReaderFactory]::CreateReader($f);

$aryV = New-Object "object[,]" $reader.RowCount, $reader.FieldCount;
[int] $i=0;
while($reader.Read())
{
    for([int] $j=0;$j -lt $reader.FieldCount;$j++)
    {
    $aryV[$i,$j] = $reader.GetValue($j);
    }
    $i++;
}

2019/01/20

Androidのroot化とか中華スマホでradikoを聞く方法:ブラウザでPC版サイトを開く

root化したAndroid端末とか中華スマホでRadikoのアプリを入れても
地域判定で止まって起動しないことがある。
でも、chromeとかのブラウザでradikoを開いて、
PC版サイトにチェックを入れればブラウザ版のradikoが聞ける。

radikoの5.0の古いapkをインストールするなどの方法もあるけど、
聞くだけならブラウザでいいと思う。
中華スマホだと何かと上手くいかないときがあるので。


2019/01/16

GoogleFontでfont-display: swap;を指定。WEBフォント読み込み時間の改善:javascriptで読む

PageSpeed Insights でこのブログを測定するとすごく遅い。
GoogleFontが原因っぽい。
そりゃフォントをダウンロードするんだから遅いよね・・・
詳細をクリックするとWEBフォント「@font-face」をしようね!とある。
でも、GoogleFontではその指定ができない。


しらべてJavascriptでfont-display: swap;する方法があった。
これをhead内に書いておく。
ひとまず早くなったのでOKとしておく。
でもInssightsのスコアは変わらず・・・。


CSS Tricksより
Google Fonts and font-display
https://css-tricks.com/google-fonts-and-font-display/


<script type="text/javascript">
<!--
const loadFont = (url) => {
  // the 'fetch' equivalent has caching issues
  var xhr = new XMLHttpRequest();
  xhr.open('GET', url, true);
  xhr.onreadystatechange = () => {
    if (xhr.readyState == 4 && xhr.status == 200) {
      let css = xhr.responseText;
      css = css.replace(/}/g, 'font-display: swap; }');

      const head = document.getElementsByTagName('head')[0];
      const style = document.createElement('style');
      style.appendChild(document.createTextNode(css));
      head.appendChild(style);
    }
  };
  xhr.send();
}

loadFont('https://fonts.googleapis.com/css?family=Noto+Sans+JP');
-->
</script>




2019/01/13

SEIKO 5 のカジュアルでも使えそうなもの

SEIKO5 /セイコーファイブ。
自動巻きで生活防水で手頃に変える値段で使いやすい。
5つの機能
自動巻き、カ生活防水、レンダー、耐久性のあるゼンマイ、耐落下衝撃、
でも、見た目が古めなビジネスマンなタイプが多い。

ナイロンの編みベルトで、カジュアルでも手軽に使えそうなので並べてみた。
※少しつづ追加していきます。


カジュアル向けで定番。
フェイスが小さいので女性でも使ってる感じ。
1万円以下で8,000円前後の安さ。
ベージュ、グリーン、ブルー、ブラックのカラーバリエーション。
他に比べるとベージュが珍しい。

[セイコーインポート]SEIKO import 腕時計 海外モデル メッシュベルト 自動巻 ベージュSNK803K2 メンズ [逆輸入品]

  

スポーツモデル。

12,000円くらい
[セイコー]SEIKO 腕時計 SEIKO 5 SPORTS(セイコー ファイブ スポーツ) オートマチック デイデイト 逆輸入 海外モデル 日本製 SNZG09JC メンズ 【逆輸入品】

2019/01/07

ジェームズ・アレンの英語の著作物サイト

The James Allen Free Library  
オランダの方が公開している英語の著作です。
少しずつ読んでみたい。
古い英語なのであまり上手に訳せない。
翻訳アプリでも難しいそう。

1. Thought and Character
THE aphorism, "As a man thinketh in his heart so is he," not only embraces the whole of a man’s being, but is so comprehensive as to reach out to every condition and circumstance of his life. A man is literally what he thinks, his character being the complete sum of all his thoughts.

As the plant springs from, and could not be without, the seed, so every act of a man springs from the hidden seeds of thought, and could not have appeared without them. This applies equally to those acts called "spontaneous" and "unpremeditated" as to those, which are deliberately executed.

Google翻訳
1.思想と性格
格言は、「人は自分の心に考えるように、人もいる」というだけでなく、その人の人生のあらゆる状況や状況に手を差し伸べるほど包括的なものです。 人は文字通り彼が考えているものであり、彼の性格はすべての彼の考えの完全な和です。

植物が種から湧き出るように、そしてそれがなくてはならないので、人間のあらゆる行為は思考の隠された種から湧き出て、そしてそれらなしでは現れ得なかったでしょう。 これは、意図的に実行された行為と同様に、「自発的」および「予見されない」と呼ばれる行為にも同様に当てはまります。


Microsoft翻訳
1. 思想と人格
警句は、「彼の心にシンクス男として、彼は、「男の全体を包含するだけでなく、彼の人生のすべての条件と状況に手を差し伸べるように包括的です。男は文字通り彼が考えているものです, 彼の性格は、すべての彼の考えの完全な合計である.

植物は、種子から湧き出ると、そのようにすることはできませんでしたように、男のすべての行為は、思考の隠された種子から湧き出ると、それらなしで登場することはできませんでした。これは意図的に実行されるものに対して、「自発的」および「unpremeditated」と呼ばれる行為に等しく適用されます。




C#.NETでエクセルを操作するEPPLUSの基本の使い方

備忘録として。
.NETでデータ出力するのに便利。
CSVと違ってパスも設置できるし。
たぶんpowershellでも使えそう。


LiberOfficeとかOpenOfficeとかあれば開けるし。
https://www.freeoffice.com/ja/




(参考サイト)
静かに暮らしたい EPPlusの使い方(目次)
chawatoyo様
https://chawatoyo.blog.fc2.com/blog-entry-15.html

Githubの大元。
https://github.com/JanKallman/EPPlus



簡易版なのでDLL使います。
1)
NugetのDownload package からEPPlus.dllをダウンロード
https://www.nuget.org/packages/EPPlus/

2)
解凍したフォルダのdllを参照に追加する
32bitで.net4.0なら「net40」のdllを使う
※同じ場所にEPPlus.xml も置いた方がよいかも?
※64bitのときはソースからコンパイルが必要かも?

3)
using OfficeOpenXml; を記述

4)下記の感じでExcelPackageを作成して保存する
System.IO.FileInfo newFile = new System.IO.FileInfo("c:\\tmp\\res.xlsx");
ExcelPackage xlPack = new ExcelPackage(newFile);
ExcelWorksheet sh = xlPack.Workbook.Worksheets.Add("SH1");
sh.Cells[1,2].Value = "TEST desu";
xlPack .Save();



-------下記はサンプル----

using OfficeOpenXml;

void GetXlsx()
{
String pathOutFile = "c:\\tmp\\res.xlsx";


System.IO.FileInfo newFile = new System.IO.FileInfo(pathOutFile);
if (newFile.Exists)
{
newFile.Delete();
newFile = new System.IO.FileInfo(pathOutFile);
}

using (ExcelPackage xlPack = new ExcelPackage(newFile))
{
ExcelWorksheet sh = xlPack.Workbook.Worksheets.Add("LIST");
sh.Cells[1,2].Value = "TEST";
xlPack.Save();
}
}