RunningCSharp

MS系開発者による、雑多な記事。記事は所属企業とは関係のない、個人の見解です。

【C#】Wordファイルをパスワード付きで保存

まず、Wordファイルを扱うにはプロジェクトにて以下のCOMライブラリを参照します。 COMライブラリの参照 下記コードではコンソールアプリケーションにて、「C:\Doc\test.docx」を基に、パスワード付きファイル「C:\Doc\test2.docx」を保存します。 using Mic…

【VB(.net)】 jpgファイルの破損チェック

JPGのSOI、EOIが既定の法則通りに入っていないファイルを検出するプログラムです。 Imports System.IO Module Program '対象フォルダのパス Dim folderpath As String = "C:\Users\USER\Pictures\Screenshots" Sub Main(args As String()) Dim jpgfiles As S…

【C#】using+IDisposableのように一応使える、try-finally

C#

例えば、下記のようなファイルを読み込む処理の場合。 using (var fs = new FileStream("example.txt", FileMode.Open)) using (var rs = new StreamReader(fs)) { string line; while ((line = rs.ReadLine()) != null) { Console.WriteLine(line); } } usi…

【Excel】VLOOKUP関数の検索範囲は、引数「範囲」の一番左の列のみである

Officeサポートのサイト内にも同様の記載はありますが、タイトルだけで直感的に理解できる記事が欲しいと思いまして。 support.office.com 例えば下記のような表で「商品」列が[コントローラー]の「価格」を検索する場合、 =VLOOKUP("コントローラー",A2:E5,…

【VBA】 Application.EnableEventsをFalseにした際の影響範囲

VBA

Application.EnableEventsは、VBAのイベント発生を制御するプロパティです。 docs.microsoft.com このプロパティにFalseを設定すると、Bookの全イベント(Workbook_Openなど※1)とSheetの全イベント(Worksheet_SelectionChangeなど※2)の実行が停止されます…

VB(.net) Windows10 WinForms ComboBox(DrowDownStyle = DropDownList , FlatStyle=Standard)の背景色を白くする

掲題の条件下では、コンボボックスの背景色は灰色となります。 下記手順で、コンボボックスの背景色を白くできます。 ①DrawModeを、「OwnerDrawFixed」に変更 ②下記例のように、ComboBoxのDrawItemイベントへ関連付けたメソッドに処理を追加する Private Sub…

オブジェクト指向(言語ではない)の簡単な説明

~~~ 本記事は、「オブジェクト指向の考え方は、普段の人間の認識と近いと感じた」ということを言いたいだけの、緩い記事です。 オブジェクト指向言語特有の機能を主軸とした話ではありません。 ~~~ オブジェクトとは、「物」です。 「物」は、状態を示…

VBA UTF-8のテキストファイルをソートして出力する

VBA

任意のテキストファイル(UTF-8)の内容を行単位で昇順ソートし、元のファイルに書き戻すコード例。 Public Sub SortText() Dim strarr() As String Dim strall As String 'ファイル名、任意の内容を指定 Dim filename As String: filename = "filepath(ex:C:\…

PowerShell テキストファイルをソートして出力する

同フォルダのUTF-8のテキストファイル「output.txt」の内容を行単位で文字コード昇順でソートし、「output2.txt」に出力する例 Get-Content -Encoding UTF8 -Path "./output.txt" | Sort-Object | Set-Content -Encoding UTF8 "./output2.txt" 降順だと以下…

VB(.net) Windows10 WinForms・DataGridViewのColumnHeaderのソートを示す三角だけ操作する

記のようなコードを実行した際、右側のカラムをクリックした際、ソートはされないがソートを示す三角形が「昇順→降順→ソートなし」の順に変化する。 コード Imports System.ComponentModel Public Class Form1 'ソートの状態を保存する変数 Dim sordOrder As…

VB(.net) Windows10 WinForms・DataGridViewのカラムクリック時、「昇順→降順→ソートなし」の順となるようカスタム

デフォルトのDataGridViewはカラムをクリックすると、「昇順→降順」の順にソートされる。 この挙動を、「昇順→降順→ソートなし」となるようカスタムする。 下記例では、右側のカラムのみカスタムが実装される。 Imports System.ComponentModel Public Class …

VB(.net) Windows10 WinForms・DataGridViewのColumnHeaderのソートを示す三角が見えなくなる

下記のようなコードを実行した際、右側のカラムにて、ColumnHeaderのソート順を示す三角形が表示されなくなる。 コード Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load DataGridView1.ColumnHeadersHeig…

VB(.net) Windows10 WinFormsのDataGridViewのカスタム

本記事では、下記の方法をまとめて記載いたします。(挙動はWindows10にて確認済の内容となります) ①DataGridViewのヘッダー背景色変更 ②DataGridViewのヘッダー文字色変更 ③DataGridViewのヘッダー・項目それぞれのフォント変更 ④DataGridViewのヘッダー・…

VBでASP.net WebAPIを作る

「ASP.net+VBでWebApiを作りたい。WebApiは呼ばれたらバッチを実行し、バッチ処理が完了した後にレスポンスを返してほしい。レスポンスは何でもよい。」とリクエストを受けたので、作ってみました。 WebApiの作り方は、下記の記事内容を引用させて頂きます。…

C#で書いたラムダ式を用いたコードをVBで書き直してみる

.netのVBを使い慣れない私が、今度はラムダ式を使ったテストコード(コンソールアプリケーション)をC#で書いた後、そのコードVBに書き直してみただけの記事です。 C# namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //…

C#で書いたイテレーターを用いたコードをVBで書き直してみる

.netのVBを使い慣れない私が、今度はイテレーターを使ったテストコード(コンソールアプリケーション)をC#で書いた後、そのコードVBに書き直してみただけの記事です。 C# namespace ConsoleApplication1 { class Program { static void Main(string[] args) {…

C#で書いたカスタム属性をVB(.net)でも書いてみる

VBを使い慣れない私が、カスタム属性クラスを適用するテストコードをC#で書いた後、そのコードVBに書き直してみただけの記事です。 C# //文字列を保持するだけの属性 public class TestAttribute : Attribute { private string val; //属性のコンストラクタ …

C#ユーザーがVBの遅延バインディングに驚いた話など

色々あって、Visual Studio 2008でVBをやっています。 触ってみた結果、多数のスタティックメソッドや「改行にアンダーバー必須」といった文法関連など色々なC#との使い勝手の違いを感じましたが、一番違いに驚いたのは下記コードの動作です。 Dim testobj A…

WPF:プロパティ値の継承(包含継承)が可能な添付プロパティ

Xamarin:Key指定なしのStyle(デフォルトのStyle)を継承する方法

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="App.MainPage" xmlns:local="clr-namespace:App"> <ContentPage.Resources> <ResourceDictionary> <Style TargetType="Button"> </resourcedictionary></contentpage.resources></contentpage>

Xamarin:PCLに埋め込みリソースとしてテキストなどのファイルを配置し、そのファイルを読み込む

PCLプロジェクトに「埋め込みリソース」としてファイルを配置し、そのファイルを読み込む例を記載します。 今回の例はxmlファイルですが、テキストでも同様の方法で読み込めます。 下記の配置のファイルを読み込む例です。 //typeofの引数には、このメソッド…

MVVM:とにかく適当なICommandを実装したい時のサンプル

サンプルプログラム作成時、INotifyPropertyChangedを手書きで実装したViewModelは作ったけれど、 「ICommandも実装しなきゃいけないの忘れてた!今からnugetでMVVM用ライブラリ落としてくるのも面倒くさいし…」 みたいな時の為の、しょうもないサンプルです…

WPF:DataGridヘッダーのクリック時にViewModel側のICommandを実行するための添付プロパティ

stackoverflow.com 上記リンクでBlendのオブジェクトの拡張を作成してTriggerをStyle内に記述する方法での解決があります。 汎用性があるものの、多くのxamlを書く必要があるため、添付プロパティでの解決方法も一応記載してみようと思いました。

WPF:DataGridの列ヘッダークリックによるソートを「昇順」→「降順」→「ソート無し」の繰り返しにカスタム

WPFのデータグリッドの標準的な列ヘッダークリックソートの動きは「昇順」→「降順」→「昇順」…の繰り返しなのですが、 これを「昇順」→「降順」→「ソート無し(データソースの並び順)」→「昇順」…の繰り返しに変更します。 DataGrid向けの添付プロパティを用…

Xamarin:PCLStorageを用いたファイル操作

Xamarinでローカルストレージのファイル操作が出来るライブラリ「PCL Storage」を扱ってみたのでメモしておきます。 まずNugetでpclstorageなどの文言で検索し、「PCL Storage」をダウンロードして使います。 下記のようなコードでファイル操作が出来ました…

Xamarin:Xamarinで添付プロパティ(Attached Property)を試す

WPFではViewのコントロールに独自の値を渡したり、独自の値の変更を契機にイベントを動かしたい時などに添付プロパティを使っていました。 Xamarinでも使えるようなので、とりあえずシンプルな実装を試してみました。 添付プロパティの実装は以下の通り。 pu…

Xamarin:Gridアイテムの間を詰める

例えばこんな感じのxamlを書いた場合、 <Grid> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Button Text="test" VerticalOptions="Fill" HorizontalOptions="Fill" /> </button></grid>

GitHub:はてなブログ上にGitHubにアップロードしたソースコードの表示を試してみる

https://gist-it.appspot.com/ 上記リンクを参考にしながら、この間アップロードしたソースコードの表示を試してみます。 github.com 上記URLにアップされたソースコードの中で、「RadioButtonList.cs」を表示する場合は、 <script src="http://gist-it.appspot.com/github/ysrun/sample_radiobuttonlist/blob/master/radiobuttonlist/radiobuttonlist/RadioButtonList.cs" ></script> 上記のタグをブログ本文中に入…

C#:補完文字列に関するTips

C#

C#4.6以降で使える補完文字列でも、改行や\をそのまま扱いたいときは@が使えます。 string test = $@"C:\test D:\test"; また、補完対象の中括弧内に関数を指定する事も可能でした。 string test1 = "test1"; string interpolation = "補完したい文字列:{fun…

WPF:配列からRadioButtonを自動生成するItemsControlを作成

タイトルの通りItemsSourceにboolとstringを持ったオブジェクトの配列を渡すことでRadioButtonを生成するコントロールのサンプルです。 サンプルはGitHubにアップしてみました。 github.com ItemsControlを継承したカスタムコントロールとなっております、利…