Microsoft Excel操作

Size: px
Start display at page:

Download "Microsoft Excel操作"

Transcription

1 Microsoft Excel 操作 Excel ファイルにアクセス リフレクションを利用したレイトバインディングで Excel ファイルを操作 Visual Basic なら CreatObject 関数を使用して 暗黙の遅延バインディングを利用する事に依り 簡単にに実現出来る Excel の操作も C# で実現するには 少し面倒臭い事に成る 事前バインディングでも実装する事も出来るが 事前バインディングだと Excel のバージョンの違いを吸収する事が出来ない為 出来れば Excel のバージョンに依存しない様に 遅延バインディング ( レイトバインディング 実行時バインディングとも謂う ) で実現し度いと謂う要求が有る 其の様な場合は.NET FCL の中から Activator や Reflection を使用する事に成る 下記のサンプルは Excel ファイルを開く丈のプログラムで有る Public Class ExcelOperation Visual Basic Private Sub btnopen_click( ByVal sender As System.Object, ByVal e As System.EventArgs ) _ Handles btnopen.click ' Excel ファイルのパス Dim P As String = Application.StartupPath If Not P.EndsWith( " " ) Then P &= " " P &= "data.xls" ' Excel のクラスのタイプとインスタンスを取得 Dim Ex As Object = CreateObject( "Excel.Application" ) ' ワークブックコレクションオブジェクト Dim Wbs As Object = Ex.workbooks ' Excel ファイルのオープン Dim Wb As Object = Wbs.open( P ) ' Excel ファイルの表示 Ex.visible = True ' 変更の保存を確認しない様に設定 Ex.DisplayAlerts = False ' ワークシートコレクションオブジェクト Dim Wss As Object = Wb.worksheets ' ワークシートオブジェクト Dim Ws As Object = Wss.item( 1 ) -1-

2 ' セル A1 の値の取得 Dim Rn As Object = Ws.Range( "A1" ) Dim A1 As String = Rn.Value.ToString( ) MessageBox.Show( A1, " セル A1 の値 " ) ' セル B1 の値の取得 Rn = Ws.Range( "B1" ) Dim B1 As String = Rn.Value.ToString( ) MessageBox.Show( B1, " セル B1 の値 " ) ' ハイパーリンクコレクションオブジェクト Dim Lns As Object = Ws.Hyperlinks ' ハイパーリンクオブジェクト ( ハイパーリンクの設定 ) Dim Ln As Object = Lns.Add( Rn, B1 ) ' ワークブックの保存 If MessageBox.Show( " 保存しますか?", " 確認 ", _ MessageBoxButtons.YesNo, MessageBoxIcon.Question ) = _ System.Windows.Forms.DialogResult.Yes Then Wb.Save( ) MessageBox.Show( " 保存しました ", " 保存 " ) End If ' 終了 If MessageBox.Show( " エクセルを終了しますか?", " 確認 ", _ MessageBoxButtons.YesNo, MessageBoxIcon.Question ) = _ System.Windows.Forms.DialogResult.Yes Then ' オブジェクトの開放 If Ln IsNot Nothing Then Ln = Nothing If Lns IsNot Nothing Then Lns = Nothing If Rn IsNot Nothing Then Rn = Nothing If Ws IsNot Nothing Then Ws = Nothing If Wss IsNot Nothing Then Wss = Nothing If Wb IsNot Nothing Then ' ワークブックのクローズ Wb.Close( ) Wb = Nothing End If If Wbs IsNot Nothing Then Wbs = Nothing If Ex IsNot Nothing Then ' エクセルの終了 Ex.Quit( ) Ex = Nothing End If End If End Sub End Class -2-

3 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Reflection; C# namespace ExcelOperation public partial class ExcelOperation : Form public ExcelOperation( ) InitializeComponent( ); private void btnopen_click( object sender, EventArgs e ) // Excel ファイルのパス string p = Application.StartupPath; if " )) p "; p += "data.xls"; // Excel のクラスのタイプとインスタンスを取得 object ex = CreateObject( "Excel.Application" ); // ワークブックコレクションオブジェクト object wbs = ex.gettype( ).InvokeMember( "Workbooks", BindingFlags.GetProperty, ex, null ); // Excel ファイルのオープン object wb = wbs.gettype( ).InvokeMember( "Open", BindingFlags.InvokeMethod, wbs, new object[ ] p, Type.Missing,Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing ); // Excel ファイルの表示 ex.gettype( ).InvokeMember( "Visible", -3-

4 BindingFlags.SetProperty, ex, new object[ ] true ); // 変更の保存を確認しない様に設定 ex.gettype( ).InvokeMember( "DisplayAlerts", BindingFlags.SetProperty, ex, new object[ ] false ); // ワークシートコレクションオブジェクト object wss = wb.gettype( ).InvokeMember( "WorkSheets", BindingFlags.GetProperty, wb, null ); // ワークシートオブジェクト object ws = wss.gettype( ).InvokeMember( "Item", BindingFlags.GetProperty, wss, new object[ ] 1 ); // セル A1 の値の取得 object rn = ws.gettype( ).InvokeMember( "Range", BindingFlags.GetProperty, ws, new object[ ] "A1" ); string a1 = ( string ) rn.gettype( ).InvokeMember( "Value", BindingFlags.GetProperty, rn, null ); MessageBox.Show( a1, " セル A1 の値 " ); // セル B1 の値の取得 rn = ws.gettype( ).InvokeMember( "Range", BindingFlags.GetProperty, ws, new object[ ] "B1" ); string b1 = ( string ) rn.gettype( ).InvokeMember( "Value", BindingFlags.GetProperty, rn, null ); MessageBox.Show( b1, " セル B1 の値 " ); // ハイパーリンクコレクションオブジェクト object lns = ws.gettype( ).InvokeMember( "Hyperlinks", BindingFlags.GetProperty, ws, null ); // ハイパーリンクオブジェクト ( ハイパーリンクの設定 ) object ln = lns.gettype( ).InvokeMember( "Add", BindingFlags.InvokeMethod, lns, new object[ ] rn, b1 ); // ワークブックの保存 if ( MessageBox.Show( " 保存しますか?", " 確認 ", MessageBoxButtons.YesNo, MessageBoxIcon.Question ) == System.Windows.Forms.DialogResult.Yes ) wb.gettype( ).InvokeMember( "Save", BindingFlags.InvokeMethod, wb, null ); -4-

5 // 終了 if ( MessageBox.Show( " エクセルを終了しますか?", " 確認 ", MessageBoxButtons.YesNo, MessageBoxIcon.Question ) == System.Windows.Forms.DialogResult.Yes ) if ( ln!= null ) MarshalReleaseComObject( ref ln ); if ( lns!= null ) MarshalReleaseComObject( ref lns ); if ( rn!= null ) MarshalReleaseComObject( ref rn ); if ( ws!= null ) MarshalReleaseComObject( ref ws ); if ( wss!= null ) MarshalReleaseComObject( ref wss ); if ( wb!= null ) wb.gettype( ).InvokeMember( "Close", BindingFlags.InvokeMethod, wb, null ); MarshalReleaseComObject( ref wb ); if ( wbs!= null ) MarshalReleaseComObject( ref wbs ); if ( ex!= null ) ex.gettype( ).InvokeMember( "Quit", BindingFlags.InvokeMethod, ex, null ); MarshalReleaseComObject( ref ex ); // COM オブジェクトへの参照の作成と取得 // progid: 作成するオブジェクトのプログラム ID // servername: オブジェクトが作成されるネットワークサーバー名 // returns: 作成された COM オブジェクト public static object CreateObject( string id, string server ) Type t; if ( server == null server.length == 0 ) t = Type.GetTypeFromProgID( id ); else t = Type.GetTypeFromProgID( id, server, true ); return Activator.CreateInstance( t ); // COM オブジェクトへの参照の作成と取得 // progid: 作成するオブジェクトのプログラム ID // returns: 作成された COM オブジェクト public static object CreateObject( string id ) -5-

6 return CreateObject( id, null ); // COM オブジェクトの参照カウントが 0 に成る迄 // Marshal.ReleaceComObject に依る COM オブジェクトの解放処理 // objcom:com オブジェクト private void MarshalReleaseComObject ( ref object objcom ) try int i = 1; if ( objcom!= null && System.Runtime.InteropServices.Marshal.IsComObject(objCom)) // 参照カウントが 0 に成る迄 do // ランタイム呼び出し可能ラッパーの参照カウントをデクリメント i = System.Runtime.InteropServices.Marshal.ReleaseComObject( objcom ); while ( i > 0 ); finally objcom = null; 使用した COM オブジェクトの参照を適切に解放しなければ プロセスが残ると謂う現象が起こる 例えば 遅延バインディングに利用した object 型の変数を複数回使用すると 参照カウントが通常より多くカウントされ 通常の解放処理では 総ての参照を解放出来ない場合が有る 此れは ランタイム呼出可能ラッパーが COM インターフェイスポインタが割り当てられる度にインクリメントされる参照カウントを保持して了うのが原因で有る System.Runtime.InteropServices.Marshal.ReleaseComObject メソッドは ランタイム呼出可能ラッパーの参照カウントをデクリメントするので 参照カウントが 0 に成る迄 複数回呼び出すと 解決する 同じ COM インターフェイスがアンマネージコードからマネージコードに複数回渡された場合 参照カウントは毎回インクリメントされ System.Runtime.InteropServices.Marshal.ReleaseComObject メソッドを呼び出すと 残りの参照の数が返される ランタイム呼出可能ラッパーの参照カウントが 0 に成ると ランタイムは アンマネージ COM オブジェクトの総ての参照が解放される 猶 此の後でオブジェクトを使用すると System.NullReferenceException の例外がスローされる 上記のプログラムで ランタイム呼出可能ラッパーの参照カウントをデクリメントする部分而巳を 下記に示す (Visual Basic の場合も 此の様に仕てオブジェクトの解放を行う事を推奨する ) -6-

7 Visual Basic If Ex IsNot Nothing Then MarshalReleaseComObject( Ex ) ' COM オブジェクトの参照カウントが 0 に成る迄 ' Marshal.ReleaceComObject に依る COM オブジェクトの解放処理 ' objcom:com オブジェクト Private Sub MarshalReleaseComObject ( ByRef objcom As Object ) Try Dim I As Integer = 1 If (objcom IsNot Nothing) AndAlso _ ( System.Runtime.InteropServices.Marshal.IsComObject( objcom )) Then ' 参照カウントが 0 に成る迄 Do ' ランタイム呼び出し可能ラッパーの参照カウントをデクリメント I = System.Runtime.InteropServices.Marshal.ReleaseComObject( objcom ) Loop While ( I > 0 ) End If Finally objcom = Nothing End Try End Sub C# if ( ex!= null ) MarshalReleaseComObject( ref ex ); // COM オブジェクトの参照カウントが 0 に成る迄 // Marshal.ReleaceComObject に依る COM オブジェクトの解放処理 // objcom:com オブジェクト private void MarshalReleaseComObject ( ref object objcom ) try int i = 1; if ( objcom!= null && System.Runtime.InteropServices.Marshal.IsComObject( objcom )) // 参照カウントが 0 より大きい間 do // ランタイム呼び出し可能ラッパーの参照カウントをデクリメント i = System.Runtime.InteropServices.Marshal.ReleaseComObject( objcom ); while ( i > 0 ); finally objcom = null; -7-

8 C# で CreateObject メソッドの作成 前述の様に C# で Visual Basic の CreateObject 関数と同じ事をするには Type クラスの GetTypeFromProgId メソッドで型を取得し Activator クラスの CreateInstance メソッド等に依りインスタンスを作成する 下記に Visual Basic の CreateObject 関数と粗同様の機能を有するメソッドの部分而巳を示す ( 勿論 Visual Basic でも CreateObject 関数を使わず 此の方法で インスタンスを生成する事が出来る ) C# // COM オブジェクトへの参照の作成と取得 // progid: 作成するオブジェクトのプログラム ID // servername: オブジェクトが作成されるネットワークサーバーの名前 // returns: 作成された COM オブジェクト public static object CreateObject ( string progid, string servername ) Type t; if ( servername == null servername.length == 0 ) t = Type.GetTypeFromProgID( progid ); else t = Type.GetTypeFromProgID( progid, servername, true ); return Activator.CreateInstance( t ); // COM オブジェクトへの参照の作成と取得 // progid: 作成するオブジェクトのプログラム ID // returns: 作成された COM オブジェクト public static object CreateObject ( string progid ) return CreateObject ( progid, null ); 但し C# では Visual Basic とは異なり 暗黙の遅延バインディングが出来ないので 取得した COM オブジェクトのプロパティやメソッドを呼び出すには Type クラスの InvokeMember メソッドを使用する必要が有る ( 前記参照 ) -8-

9 Type オブジェクト 型のメンバを動的に呼び出す Type オブジェクトで表された型のインスタンスの作成 メソッドの呼出 プロパティ フィールドの設定と取得の方法に付いて説明する 此処では 下記の様なクラスが宣言されて居る物とする Namespace MyNamespace Public Class TestClass ' フィールド Private PrivateField As Integer Public StringArray( ) As String Visual Basic ' プロパティ Public Property PublicProperty( ) As Integer Get Return PrivateField End Get Set( ByVal Value As Integer ) PrivateField = Value End Set End Property ' インデクサ Default Public Property Item( ByVal index As Integer ) As String Get Return index.tostring( ) End Get Set( ByVal Value As String ) End Set End Property ' コンストラクタ Public Sub New( ByVal val As Integer ) PrivateField = val StringArray = New String( ) "1", "2", "3" End Sub Public Sub New( ) PrivateField = 0 StringArray = New String( ) "1", "2", "3" End Sub ' メソッド Public Overloads Function PublicMethod( _ ByVal num1 As Integer, ByVal num2 As Integer ) As String -9-

10 Return ( num1 - num2 ).ToString( ) End Function Public Overloads Function PublicMethod( _ ByVal num1 As Integer ) As String Return num1.tostring( ) End Function Public Overloads Function PublicMethod( ) As String Return PublicMethod( 0 ) End Function ' 静的メソッド Public Overloads Shared Function StaticMethod( _ ByVal num1 As Integer, ByVal num2 As Integer ) As Integer Return num1 + num2 End Function Public Overloads Shared Function StaticMethod( _ ByVal num1 As Integer, ByVal num2 As Integer, _ ByRef num3 As Integer ) As Integer Dim sum As Integer = num1 + num2 + num3 num3 = num1 - num2 - num3 Return sum End Function End Class End Namespace C# namespace MyNamespace public class TestClass // フィールド private int PrivateField; public string[ ] StringArray; // プロパティ public int PublicProperty get return PrivateField; set PrivateField = value; // インデクサ public string this[ int index ] get return index.tostring( ); set -10-

11 // コンストラクタ public TestClass( int val ) PrivateField = val; StringArray = new string[ ] "1", "2", "3" ; public TestClass( ) PrivateField = 0; StringArray = new string[ ] "1", "2", "3" ; // メソッド public string PublicMethod( int num1, int num2 ) return ( num1 - num2 ).ToString( ); public string PublicMethod( int num1 ) return num1.tostring( ); public string PublicMethod( ) return PublicMethod( 0 ); // 静的メソッド public static int StaticMethod( int num1, int num2 ) return num1 + num2; public static int StaticMethod( int num1, int num2, ref int num3) int sum = num1 + num2 + num3; num3 = num1 - num2 - num3; return sum; Type.InvokeMember メソッドを使用した方法 Type オブジェクトのメンバを呼び出すには InvokeMember メソッドを使用する InvokeMember メソッドに依り インスタンスの作成 メソッドの呼出 プロパティ フィールドの設定と取得が総て出来る -11-

12 下記に InvokeMember メソッドを用いて TestClass クラスのメンバを呼び出す例を示す Visual Basic ' Imports System.Reflection がソースファイルの一番上に書かれて居る物とする Dim num As Integer Dim str As String ' TestClass クラスの Type オブジェクトを取得 Dim t As Type = GetType( MyNamespace.TestClass ) '=================== ' インスタンスの作成 '=================== ' TestClass のインスタンス生成 (target = New MyNamespace.TestClass( 100 ) と同等 ) Dim target As Object = t.invokemember( BindingFlags.CreateInstance, _ New Object( ) 100 ) '=============== ' メソッドの実行 '=============== ' PublicMethod メソッドを実行 (str = target.publicmethod( 12 ) と同等 ) str = CStr( t.invokemember( "PublicMethod", _ BindingFlags.InvokeMethod, _ target, _ New Object( ) 12 )) ' 静的メソッド StaticMethod を実行 (num = MyNamespace.TestClass.StaticMethod( 1, 2 ) と同等 ) num = CInt( t.invokemember( "StaticMethod", _ BindingFlags.InvokeMethod, _ New Object( ) 1, 2 )) ' ref パラメータで返される値を取得 (num = MyNamespace.TestClass.StaticMethod(1, 2, 0) と同等 ) Dim objs( ) As Object = 1, 2, 0 num = CInt( t.invokemember( "StaticMethod", _ BindingFlags.InvokeMethod, _ objs )) Console.WriteLine(objs(2)) ' ref パラメータで受け取った値を表示 -12-

13 ' パラメータ名でパラメータを指定 (str = target.publicmethod( num2:=5, num1:=7 ) と同等 ) str = CStr( t.invokemember( "PublicMethod", _ BindingFlags.InvokeMethod, _ Nothing, target, _ New Object( ) 5, 7, _ New String( ) "num2", "num1" )) '======================= ' プロパティの設定と取得 '======================= ' PublicProperty プロパティを設定 (target.publicproperty = 100 と同等 ) t.invokemember( "PublicProperty", _ BindingFlags.SetProperty, _ target, _ New Object( ) 100 ) ' PublicProperty プロパティを取得 (num = target.publicproperty と同等 ) num = CInt( t.invokemember( "PublicProperty", _ BindingFlags.GetProperty, _ target, _ Nothing )) ' インデクサの指定したインデックスの要素を設定 (target(1) = "two" と同等 ) t.invokemember( "Item", _ BindingFlags.SetProperty, _ target, _ New Object( ) 1, "two" ) ' インデクサの指定したインデックスの要素を取得 (str = target(1) と同等 ) str = CStr( t.invokemember( "Item", _ BindingFlags.GetProperty, _ target, _ New Object( ) 1 )) '======================= ' フィールドの設定と取得 '======================= ' PrivateField フィールドを設定 (target.privatefield = 0 と同等 ) ' 但し 通常プライベートフィールドにはアクセス不可 -13-

14 t.invokemember( "PrivateField", _ BindingFlags.Public Or BindingFlags.NonPublic Or _ BindingFlags.Instance Or BindingFlags.SetField, _ target, _ New Object( ) 0 ) ' PrivateField フィールドを取得 (num = target.privatefield と同等 ) ' 但し 通常プライベートフィールドにはアクセス不可 num = CInt( t.invokemember( "PrivateField", _ BindingFlags.Public Or BindingFlags.NonPublic Or _ BindingFlags.Instance Or BindingFlags.GetField, _ target, _ Nothing )) ' 配列 StringArray フィールドの 0 番目の値を設定 (target.stringarray(0) = " ゼロ " と同等 ) t.invokemember( "StringArray", _ BindingFlags.SetField, _ target, _ New Object( ) 0, " ゼロ " ) ' 配列 StringArray フィールドの 0 番目の値を取得 (str = target.stringarray(0) と同等 ) str = CStr( t.invokemember( "StringArray", _ BindingFlags.GetField, _ target, _ New Object( ) 0 )) C# // using System.Reflection; がソースファイルの一番上に書かれて居る物とする int num; string str; // TestClass クラスの Type オブジェクトを取得 Type t = typeof( MyNamespace.TestClass ); //=================== // インスタンスの作成 //=================== // TestClass のインスタンスを作成 (target = new MyNamespace.TestClass(100) と同等 ) object target = t.invokemember( BindingFlags.CreateInstance, -14-

15 new object[ ] 100 ); //=============== // メソッドの実行 //=============== // PublicMethod メソッドを実行 (str = target.publicmethod(12) と同等 ) str = ( string ) t.invokemember( "PublicMethod", BindingFlags.InvokeMethod, target, new object[ ] 12 ); // 静的メソッド StaticMethod を実行 (num = MyNamespace.TestClass.StaticMethod(1, 2) と同等 ) num = ( int ) t.invokemember( "StaticMethod", BindingFlags.InvokeMethod, new object[ ] 1, 2 ); // ref パラメータで返される値を取得 (num = MyNamespace.TestClass.StaticMethod(1, 2, ref 0) と同等 ) object[ ] objs = new object[ ] 1, 2, 0 ; num = ( int ) t.invokemember( "StaticMethod", BindingFlags.InvokeMethod, objs ); Console.WriteLine( objs[ 2 ]); // ref パラメータで受け取った値を表示 // パラメータ名でパラメータを指定する (str = target.publicmethod(num2:=5, num1:=7) と同等 ) str = ( string ) t.invokemember( "PublicMethod", BindingFlags.InvokeMethod, target, new object[ ] 5, 7, new string[ ] "num2", "num1" ); //======================= // プロパティの設定と取得 //======================= // PublicProperty プロパティを設定 (target.publicproperty = 100 と同等 ) t.invokemember( "PublicProperty", BindingFlags.SetProperty, target, new object[ ] 100 ); -15-

16 // PublicProperty プロパティを取得 (num = target.publicproperty と同等 ) num = ( int ) t.invokemember( "PublicProperty", BindingFlags.GetProperty, target, null ); // インデクサの指定したインデックスの要素を設定 (target[1] = "two" と同等 ) t.invokemember( "Item", BindingFlags.SetProperty, target, new object[ ] 1, "two" ); // インデクサの指定したインデックスの要素を取得 (str = target[1] と同等 ) str = ( string ) t.invokemember( "Item", BindingFlags.GetProperty, target, new object[ ] 1 ); //======================= // フィールドの設定と取得 //======================= // PrivateField フィールドを設定 (target.privatefield = 0 と同等 ) // 但し 通常プライベートフィールドにはアクセス不可 t.invokemember( "PrivateField", BindingFlags.Public BindingFlags.NonPublic BindingFlags.Instance BindingFlags.SetField, target, new object[ ] 0 ); // PrivateField フィールドを取得 (num = target.privatefield と同等 ) // 但し 通常プライベートフィールドにはアクセス不可 num = ( int ) t.invokemember ("PrivateField", BindingFlags.Public BindingFlags.NonPublic BindingFlags.Instance BindingFlags.GetField, target, null ); // 配列 StringArray フィールドの 0 番目の値を設定 (target.stringarray[0] = " ゼロ " と同等 ) t.invokemember( "StringArray", BindingFlags.SetField, target, new object[ ] 0, " ゼロ " ); -16-

17 // 配列 StringArray フィールドの 0 番目の値を取得 (str = target.stringarray[0] と同等 ) str = ( string ) t.invokemember( "StringArray", BindingFlags.GetField, target, new object[ ] 0 ); MethodInfo ConstructorInfo PropertyInfo FieldInfo クラスを使用した方法 上記の様に Type.InvokeMember メソッドを使う以外に MethodInfo ConstructorInfo クラスの Invoke メソッドを使ってメソッドやコンストラクタを呼び出したり PropertyInfo FieldInfo クラスの SetValue GetValue メソッドを使ってプロパティやフィールドの値を取得 設定する事も出来る 猶 MemberInfo オブジェクトを取得する方法に付いては 此方のサイトで説明されて居る 此等の方法を使用した簡単な例を 下記に示す Visual Basic ' Imports System.Reflection' がソースファイルの一番上に書かれて居る物とする ' TestClass クラスの Type オブジェクトを取得 Dim t As Type = GetType( MyNamespace.TestClass ) ' インスタンスの作成 Dim ci As ConstructorInfo = _ t.getconstructor( New Type( ) GetType( Integer )) Dim target As Object = ci.invoke( New Object( ) 5 ) ' メソッドの実行 Dim mi As MethodInfo = t.getmethod( "PublicMethod", New Type( ) ) Dim str As String = CStr( mi.invoke( target, New Object( ) )) ' プロパティの設定と取得 Dim pi As PropertyInfo = t.getproperty( "PublicProperty" ) pi.setvalue( target, 1, Nothing ) Dim num As Integer = CInt( pi.getvalue( target, Nothing )) ' フィールドの設定と取得 Dim fi As FieldInfo = t.getfield( "PrivateField", _ BindingFlags.Public Or BindingFlags.NonPublic Or _ BindingFlags.Instance ) fi.setvalue( target, -1 ) num = CInt( fi.getvalue( target )) C# // using System.Reflection; がソースファイルの一番上に書かれて居る物とする // TestClass クラスの Type オブジェクトを取得 Type t = typeof( MyNamespace.TestClass ); -17-

18 // インスタンスの作成 ConstructorInfo ci = t.getconstructor( new Type[ ] typeof( int )); object target = ci.invoke( new object[ ] 5 ); // メソッドの実行 MethodInfo mi = t.getmethod( "PublicMethod", new Type[ ] ); string str = ( string ) mi.invoke( target, new object[ ] ); // プロパティの設定と取得 PropertyInfo pi = t.getproperty( "PublicProperty" ); pi.setvalue( target, 1, null ); int num = ( int ) pi.getvalue( target, null ); // フィールドの設定と取得 FieldInfo fi = t.getfield( "PrivateField", BindingFlags.Public BindingFlags.NonPublic BindingFlags.Instance ); fi.setvalue( target, -1 ); num = ( int ) fi.getvalue( target ); CreateInstance メソッドに依るインスタンスの作成 更に インスタンスの作成は AppDomain.CreateInstance メソッド Assembly.CreateInstance メソッドや Activator.CreateInstance メソッド ( 配列を作成する時は Array.CreateInstance メソッド ) 等を使用する事でも可能で有る ( 一般的に良く使われて居るのは Activator.CreateInstance メソッドで有る ) 補足 此処で紹介した様に コンパイル時に型が不明で有るオブジェクトを Object 型変数に代入し 実行時に其のメソッドやプロパティ等を呼び出す方法を 遅延バインディングと呼ぶ ( 此れに対して コンパイル時に型が明確に宣言された変数にオブジェクトが代入される時は 事前バインディングされる ) Visual Basic.NET 以降では Option Strict ステートメントを Off にする事に依り ( 又は コンパイラオプションに "/optionstrict+" を指定 ) 暗黙の遅延バインディングを使用出来るので InvokeMember メソッドを使ってメソッドやプロパティを呼び出す必要が無く成る Visual Basic の暗黙の遅延バインディングに依り メソッドやプロパティを呼び出す例を 下記に示す Visual Basic 'Imports System.Reflection がソースファイルの一番上に書かれて居る物とする Dim num As Integer Dim str As String ' TestClass クラスの Type オブジェクトを取得 Dim t As Type = GetType( MyNamespace.TestClass ) -18-

19 ' TestClass のインスタンスを作成 Dim target As Object = t.invokemember( BindingFlags.CreateInstance, _ New Object( ) 100 ) ' PublicMethod メソッドを実行 num = target.publicmethod( 12 ) ' プロパティの設定と取得 (PublicProperty プロパティを設定 ) target.publicproperty = 100 ' インデクサの指定したインデックスの要素を取得 str = target( 1 ) C# // using System.Reflection; がソースファイルの一番上に書かれて居る物とする int num; string str; // TestClass クラスの Type オブジェクトを取得 Type t = GetType( MyNamespace.TestClass ); // TestClass のインスタンスを作成 object target = t.invokemember( BindingFlags.CreateInstance, new object[ ] 100 ) // PublicMethod メソッドを実行 num = target.publicmethod( 12 ); // プロパティの設定と取得 (PublicProperty プロパティを設定 ) target.publicproperty = 100; // インデクサの指定したインデックスの要素を取得 str = target( 1 ) -19-

ICONファイルフォーマット

ICONファイルフォーマット グラフィックス 画像フォーマットエンコーダパラメータ 様々なフォーマットで画像を保存 Bitmap クラスを用いる事でビットマップ JPEG GIF PNG 等様々なフォーマットの画像を読み込み操作する事が出来る 更に Bitmap クラスや Graphics コンテナを用いて描画処理等を施したイメージをファイルに保存する事も出来る 此の時 読み込めるフォーマット同様に保存するフォーマットを選択する事が出来る

More information

ファイル操作

ファイル操作 ファイル操作 TextFieldParser オブジェクト ストリームの読込と書込 Microsoft.VisualBasic.FileIO 名前空間の TextFieldParser オブジェクトは 構造化テキストファイルの解析に使用するメソッドとプロパティを備えたオブジェクトで有る テキストファイルを TextFieldParser で解析するのは テキストファイルを反復処理するのと同じで有り

More information

プロセス間通信

プロセス間通信 プロセス間通信 プロセス間通信 (SendMessage) プロセス間通信とは 同一コンピューター上で起動して居るアプリケーション間でデータを受け渡し度い事は時々有る Framework には リモート処理 と謂う方法でデータの受け渡しを行なう方法が有る 此処では 此の方法では無く 従来の方法の API を使用したプロセス間通信を紹介する 此の方法は 送信側は API の SendMessage で送り

More information

VB実用⑦ エクセル操作Ⅰ

VB実用⑦ エクセル操作Ⅰ VB でエクセル操作 Ⅰ VB 2005 7 プログラムの概要 事務処理に於いて Microsoft 社のスプレッドシートソフトで有るエクセルは データベースソフトで有るアクセスと共に 業界標準 (De Facto Standard) で有ると謂う事が出来る 此処では 其のエクセルを Visual Basic から操作する方法を 重点的に学ぶ 今回は Visual Basic でエクセルを利用する基本と成るオブジェクト生成と

More information

ウィンドウ操作 応用

ウィンドウ操作 応用 Win32API 関数 ウィンドウ操作 ウィンドウ名でトップレベルウィンドウ ( 親を持たないウィンドウ ) のハンドルを取得 メモ帳や電卓等のウィンドウ名でトップレベルウィンドウ ( 親を持たないウィンドウ ) のハンドルを取得する方法を 下記に示す Visual Basic Imports System.Runtime.InteropServices Public Class WindowFromWindowName

More information

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るので 此れを利用して音声認識を行うサンプルを紹介する 下記の様な Windows フォームアプリケーションを作成する エディタを起動すると

More information

プラグイン

プラグイン プラグイン プラグイン詳細 2 ~ プラグイン機能を持つテキストエディタの作成 ~ はじめに Adobe Photoshop や Becky! Internet Mail 等のアプリケーションでは プラグイン ( 又は アドイン エクステンション 等 ) と呼ばれるプログラムをインストールする事に依り 機能を拡張する事が出来る 此の記事では此の様なプラグイン機能を持ったアプリケーションの作り方を プラグイン対応のテキストエディタを作成する事に依り

More information

ハッシュテーブル

ハッシュテーブル ハッシュテーブル ハッシュテーブル ( 連想配列 ) を使う ハッシュテーブルとは キー (key) と値 (value) のペアを保持して居るコレクションで有る 通常の配列がインデックス番号に依り各値 ( 各要素 ) にアクセス出来るのに比べて ハッシュテーブルでは インデックス番号の代わりにキーを用いて 其の各値にアクセスする事が出来る キーと 其のキーから連想される ( 対応付けられて居る )

More information

ファイル監視

ファイル監視 ファイル操作 ファイルやディレクトリの監視 FileSystemWatcher クラス.NET Framework のクラスライブラリには ファイルやディレクトリの作成 変更 削除を監視する為の FileSystemWatcher クラスが System.IO 名前空間に用意されて居る ( 但し Windows 98/Me では利用出来ない ) 此れを利用すると 特定のディレクトリにファイルが作成された

More information

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~ .NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace

More information

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略       - LogisticaTRUCKServer-Ⅱ(SQLServer 版 ) 距離計算サーハ API.NET DLL WindowsForm サンフ ルフ ロク ラム - 1 - LogisticaTRUCKServer-Ⅱ 距離計算サーハ.NET DLL WindowsForm VisualBasic での利用方法 LogisticaTRUCKServer-Ⅱ 距離計算.NET DLLのサンプルプログラムの参照サンフ

More information

データアダプタ概要

データアダプタ概要 データベース TableAdapter クエリを実行する方法 TableAdapter クエリは アプリケーションがデータベースに対して実行出来る SQL ステートメントやストアドプロシージャで TableAdapter で型指定されたメソッドと仕て公開される TableAdapter クエリは 所有るオブジェクトのメソッドと同様に 関連付けられたメソッドを呼び出す事に依り実行出来る TableAdapter

More information

グラフィックス

グラフィックス グラフィックス PictureBox の Image プロパティに関する良く有る勘違い PictureBox に画像を表示する方法と仕て PictureBox の Image プロパティを使う方法と Graphics の DrawImage メソッドを使う方法が有るが 此の 2 つの方法を混同し 正しく理解して居ない事が多い様で有る 例えば 下記に列挙する様な状況が 此れに該当する 1.PictureBox

More information

ファイル操作-バイナリファイル

ファイル操作-バイナリファイル ファイル操作 バイナリ ファイルを読み書きする バイナリファイル ( 即ちテキストファイル以外のファイル ) を読み書きするには FileStream クラス (System.IO 名前空間 ) を利用する FileStream クラスはファイル用のストリームをサポートするクラスで有り Stream クラス (System.IO 名前空間 ) の派生クラスの 1 つで有る 基本的には コンストラクタで指定したファイルのストリームに対して

More information

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値 ( 此処では 10) を代入する丈でなく 2 の配列変数の宣言の様に ブレース { } の中にカンマ区切りで初期値のリストを記述し 配列の各要素に初期値を代入出来る様に成った

More information

DAOの利用

DAOの利用 DAO VB2005 で DAO を使用して Excel のデータを取得 Visual Basic 6.0 Dim DB As DAO.Database Dim RS As DAO.Recordset Dim xlfilename As String Dim xlsheetname As String xlfilename = Form1.StatusBar1.Panels(12) & Dir(Form1.StatusBar1.Panels(12)

More information

ファイル操作-インターネットキャッシュ

ファイル操作-インターネットキャッシュ ファイル操作 インターネット一時ファイルの保存場所 インターネットキャッシュ インターネット一時ファイルの保存場所は Internet Explorer の場合 下記の手順で確認する事が出来る 1.[ ツール ] [ インターネットオプション ] でインターネットオプション画面のダイアログを表示させる 2.[ 全般 ] タブで [ インターネット一時ファイル ] グループの [ 設定 ] をクリックすると

More information

VB.NET解説

VB.NET解説 Visual Basic.NET 印刷編 目次 印刷の概要... 2 印刷の流れ... 2 標準の Windows フォーム印刷ジョブの作成... 3 実行時に於ける Windows フォーム印刷オプションの変更... 3 Windows フォームに於ける接続されたプリンタの選択... 4 Windows フォームでのグラフィックスの印刷... 5 Windows フォームでのテキストの印刷...

More information

ListViewコントロール

ListViewコントロール ListView コントロール ListView コントロールへ項目を追加 本稿では.NET Framework の標準コントロールで有る ListView コントロール (System.Windows.Forms 名前空間 ) を活用する為に ListView コントロールにデータを追加する方法を紹介する ListView コントロールは データ項目をアイコン表示や詳細表示等に依り一覧表示する為の物で

More information

構造体

構造体 構造体 Byte 配列 構造体とコピーする方法 構造体とバイト配列の変換を行うには System.Runtime.InteropServices 名前空間をインポートして置くと便利で有る Imports System.Runtime.InteropServices using System.Runtime.InteropServices; 下記の 3 種類の構造体にバイト配列の値を格納した場合に付いて検証する

More information

NotifyIconコントロール

NotifyIconコントロール NotifyIcon コントロール システムトレイ ( タスクトレイ ) にアイコンを表示する.NET Framework 2.0 以降の場合は 後述の 2 を観て欲しい Outlook や MSN Messenger 等の様に Windows アプリケーションではシステムトレイ ( タスクトレイ ステータス領域等とも呼ばれる ) にアイコンを表示して アプリケーションの状態を示したり アプリケーションのフォームを表示したりする為のショートカットとして利用する事が出来る.NET

More information

正規表現応用

正規表現応用 正規表現 正規表現を使って文字列が或る形式と一致するか調べる 指定された正規表現のパターンと一致する対象が入力文字列内で見付かるか何うかを調べるには Regex クラスの IsMatch メソッドを使用する 此処では IsMatch メソッドを使った例を幾つか紹介する 猶 正規表現のパターンと一致する個所を探し 見付かれば 其の箇所を抽出する方法は 正規表現を使って文字列を検索し 抽出する で紹介して居る

More information

スレッド操作 タイマー

スレッド操作 タイマー スレッド操作 タイマー System.Windows.Forms.Timer Windows フォームの Timer は 一定の間隔でイベントを発生させるコンポーネントで有る 此のコンポーネントは Windows フォーム環境で使用する サーバー環境に適したタイマが必要な場合は 後述の System.Timers.Timer を使用する イベントの発生する間隔は ミリ秒単位で Interval プロパティで設定しする

More information

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略       - LogisticaTRUCKServer-Ⅱ(SQLServer 版 ) 距離計算サーハ API.NET DLL WebForms ASP.NET サンフ ルフ ロク ラム - 1 - LogisticaTRUCKServer-Ⅱ 距離計算サーハ.NET DLL WebForm ASP.NET VisualBasic での利用方法 LogisticaTRUCKServer-Ⅱ 距離計算.NET

More information

VB実用⑧ エクセル操作Ⅱ

VB実用⑧ エクセル操作Ⅱ VB でエクセル操作 Ⅱ VB 2005 8 プログラムの概要 事務処理に於いて Microsoft 社のスプレッドシートソフトで有るエクセルは データベースソフトで有るアクセスと共に 業界標準 ( De Facto Standard) で有ると謂う事が出来る 今回は エクセルを Visual Basic から操作する為に 最も基本と成るセルに設定された値の取得を 重点的に学ぶ 前回学んだエクセル操作の為のオブジェクトの生成と

More information

ルーレットプログラム

ルーレットプログラム ルーレットプログラム VB 2005 4 プログラムの概要 カジノの代表的なゲーム ルーレット を作成する 先ず GO! ボタンをクリックすると ルーレット盤上をボールが回転し 一定時間経過すると ボールが止まり 出目を表示するプログラムを作成する 出目を 1~16 大小 偶数奇数の内から予想して 予め設定した持ち点の範囲内で賭け点を決め 賭け点と出目に依り 1 点賭けの場合は 16 倍 其他は 2

More information

mySQLの利用

mySQLの利用 MySQL の利用 インストール インストール時に特に注意点は無い 本稿記述時のバージョンは 6.5.4 で有る (2017 年 11 月現在では 6.10.4 で https://dev.mysql.com/downloads/connector/net/6.10.html よりダウンロード出来る ) 参照設定 インストールが終了すれば Visual Studio で参照の設定を行う 参照の設定画面で

More information

Microsoft Excel操作

Microsoft Excel操作 Microsoft Excel 操作 Excel ファイルにアクセス.NET Frameworks には COM 相互運用 と呼ばれる機能が有り COM コンポーネントを手軽に呼び出す事が出来る 一方 Excel を初めとする Office 製品は 其の機能をマクロ (VBA) 等からも活用出来る様に COM コンポーネントと仕て実装されて居る 此の為 COM 相互運用を使えば.NET アプリケーションから容易に

More information

VB実用⑩ エクセル操作Ⅳ

VB実用⑩ エクセル操作Ⅳ VB でエクセル操作 Ⅳ VB 2005 10 プログラムの概要 事務処理に於いて Microsoft 社のスプレッドシートソフトで有るエクセルは データベースソフトで有るアクセスと共に 業界標準 (De Facto Standard) で有ると謂う事が出来る 今回は Visual Basic から エクセルのセルに値を設定する手法を 重点的に学ぶ 前回迄に学んだエクセル操作の為のオブジェクトの生成を元に

More information

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスがインスタンス化されてからメソッドに成る ) # 関数 def test_func(): print('call test_func') #

More information

D:\Documents\Visual Studio 2015\Projects\MyHomePage 用サンプル \ExcelAndWord\ExcelAndWord\MainForm.cs 1 /* */ Excel や Word とやりとりする ~9,20 仕様 Excel

D:\Documents\Visual Studio 2015\Projects\MyHomePage 用サンプル \ExcelAndWord\ExcelAndWord\MainForm.cs 1 /* */ Excel や Word とやりとりする ~9,20 仕様 Excel D:\Documents\Visual Studio 2015\Projects\MyHomePage 用サンプル \ExcelAndWord\ExcelAndWord\MainForm.cs 1 /* */ Excel や Word とやりとりする 2015.9.19~9,20 仕様 Excel の場合は 処理メニュー選択用の新しいフォームを開き この実行ファイルと同じフォルダにある test.xlsb

More information

C#の基本2 ~プログラムの制御構造~

C#の基本2 ~プログラムの制御構造~ C# の基本 2 ~ プログラムの制御構造 ~ 今回学ぶ事 プログラムの制御構造としての単岐選択処理 (If 文 ) 前判定繰り返し処理(for 文 ) について説明を行う また 整数型 (int 型 ) 等の組み込み型や配列型についても解説を行う 今回作るプログラム 入れた文字の平均 分散 標準偏差を表示するプログラム このプログラムでは calc ボタンを押すと計算を行う (value は整数に限る

More information

印刷

印刷 印刷 Windows フォームに於ける印刷のサポート Windows フォームに於ける印刷では 主に ユーザーに依る印刷を可能にする為の PrintDocument コンポーネントと Windows オペレーティングシステムを常用して居るユーザーに見慣れたグラフィカルインターフェイスを提供する為の PrintPreviewDialog コントロール PrintDialog コンポーネント 及び PageSetupDialog

More information

C#の基本

C#の基本 C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない

More information

構造体

構造体 構造体 構造体を取り扱うには System.Runtime.InteropServices 名前空間をインポートして置くと便利で有る Imports System.Runtime.InteropServices using System.Runtime.InteropServices; C# ユーザー定義型 (Type) と構造体 (Structure) 6.0 のユーザー定義型 (Type) を.NET

More information

Userコントロール

Userコントロール User コントロール 初めてのユーザーコントロールの作成 作成したクラスは他のプログラムで再利用出来る為 同じコードを何度も繰り返し作成する必要が無い コントロールも 複数のプロジェクトで再利用出来るクラスで有る 同じユーザーインターフェイスを何度も繰り返してデザインすると謂う経験は 恐らく誰でも有る 例えば 姓と名を入力する為の TextBox コントロールを追加した後で 両方を組み合わせてフルネームを作成するコードを追加する等の作業で有る

More information

Public Class Class4SingleCall Inherits MarshalByRefObject Public Sub New() End Sub Public Function OneProc(ByVal The As A SC) As A SC Dim The As New A SC The.answer = The.index * 2 + 1000 Return The End

More information

プラグイン

プラグイン プラグイン プラグイン詳細 1 Adobe Photoshop や Becky! Internet Mail 等のアプリケーションでは プラグイン ( 又は アドイン エクステンション等 ) と呼ばれるプログラムをインストールする事に依り 機能を追加する事が出来る様に成って居る 此処では 此の様なプラグイン機能を持ったアプリケーションの作り方を考えて観る事にする 其れは インターフェイスを使用すると謂う方法で有る

More information

スライド 1

スライド 1 C# の基本 ~ ファイル読み込み ~ 今回学ぶ事 今回はファイル読み書きに必要 BinaryReader クラスについて記載する ファイル参照ダイアログである OpenFileDialog クラスについても理解を深める また Bitmap クラスを用いた Bitmap ファイルの読み込み方法についても学ぶ フォーム作り まず label picturebox を配置する ツールボックスより左クリックで選択する

More information

グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラ

グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラ C# & VB 1 グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラフィックを行うためには Visual Studio の基本操作や C# または VB

More information

MISAO with WPF

MISAO with WPF System.AddIn を利用した アプリケーション拡張 - アドインの開発 - JZ5( 松江祐輔 )@ わんくま http://katamari.jp http://katamari.wankuma.com 2008/9/13 What s System.AddIn System.AddIn 名前空間 Visual Studio Orcus から利用可能 アプリケーションに拡張機能を提 供 なんかいろいろ特長が?

More information

ブロック パニック

ブロック パニック ブロックパニック VB 2005 9 プログラムの概要 壁が迫り来る不思議な空間のオリジナルゲーム ブロックパニック を作成する スタートボタンをクリックし上下左右の矢印キーで白猿を移動させる スペースキーを押すと 向いて居る方向の壁が後退する 左右の壁が合わさると ゲームは終了する 一般的に 実用プログラムに比較するとゲームプログラムは 高度なテクニックを要求される事が多い 此処では ゲームプログラムを作成する事に依り

More information

VB実用⑯ 印刷Ⅵ(Excel)

VB実用⑯ 印刷Ⅵ(Excel) 印刷 Ⅴ VB 2005 5 プログラムの概要 事務処理に於いて 集計結果等を印刷して 確認等を行う事も多い為 ペーパーレスオフィスが推奨される昨今に於いても 矢張り印刷に関する技術は必要で有る Visual Basic から印刷を行う方法は.NET 以降 PrintDocument オブジェクトを使用する方法が 標準と仕て一般的で有るが Professional 版等では ReportView や

More information

Prog2_12th

Prog2_12th 2018 年 12 月 13 日 ( 木 ) 実施クラスの継承オブジェクト指向プログラミングの基本的な属性として, 親クラスのメンバを再利用, 拡張, または変更する子クラスを定義することが出来る メンバの再利用を継承と呼び, 継承元となるクラスを基底クラスと呼ぶ また, 基底クラスのメンバを継承するクラスを, 派生クラスと呼ぶ なお, メンバの中でコンストラクタは継承されない C# 言語では,Java

More information

3D回転体プログラム

3D回転体プログラム 3D 回転体プログラム C# 2005 4 プログラムの概要 入力画面で マウスを用いて 側面より見た平面図を描きます マウスの左ボタンをクリックする事で連続線を描き 右ボタンをクリックすると新しい線を描く事が出来る 側面図が完成すると 回転の基本角度を設定して 確定ボタンをクリックすると 平面図を立体図に座標変換する 各軸の回転角度を設定して 表示ボタンをクリックすると 立体図が表示される 各軸の回転角度を変更して

More information

ICONファイルフォーマット

ICONファイルフォーマット グラフィックス エンコーダパラメータを指定した画像の保存 概要 Image クラスの Save メソッドには イメージコーデック情報とエンコーダパラメータを指定して画像を保存するオーバーロードが有る 此れを利用すると 様々な画像形式で色々のオプションを指定して画像を保存する事が出来る Public Sub Save ( _ filename As String, _ encoder As ImageCodecInfo,

More information

GUIプログラムⅣ

GUIプログラムⅣ GUI プログラム Ⅳ 画像指定ウィンドウの生成 ファイル名 :awtimage.java import java.awt.*; import java.awt.event.*; public class awtimage extends Frame // コンポーネントクラスの宣言 Button btnbrowse; Label lblcaption7; TextField txtimage; //

More information

Microsoft Word - DT-5100Lib_Manual_DotNet.doc

Microsoft Word - DT-5100Lib_Manual_DotNet.doc CASSIOPEIA DT-5100 シリーズ.NET ライブラリマニュアル 概要編 Ver 3.00 変更履歴 No Revision 更新日項改訂内容 1 1.00 03/1/20 初版初版発行 2 3.00 05/03/15 3 カシオライブラリマニュアル (.NET) 開発マニュアルの 1~4 をひとまとめ にしました 4 5 6 7 8 9 10 11 12 13 14 15 16 17

More information

ブロック崩し風テニス

ブロック崩し風テニス ぱっくんフィッシング VB 2005 13 プログラムの概要 パーティゲームとして良く知られた釣りゲームです マウスで釣り糸を操作して 開閉する魚の口に餌を垂らし 魚が餌を咥えると 釣り上げ 籠の中に入れます 直ぐに口を開けて 海に逃れる魚 中々餌を離さず 籠に入らない魚と 色々なバリエーションが楽しめます 一般的に 実用プログラムに比較するとゲームプログラムは 高度なテクニックを要求される事が多い

More information

Case 0 sqlcmdi.parameters("?tencode").value = Iidata(0) sqlcmdi.parameters("?tenname").value = Iidata(1) 内容を追加します sqlcmdi.executenonquery() Case Else

Case 0 sqlcmdi.parameters(?tencode).value = Iidata(0) sqlcmdi.parameters(?tenname).value = Iidata(1) 内容を追加します sqlcmdi.executenonquery() Case Else Imports MySql.Data.MySqlClient Imports System.IO Public Class Form1 中間省略 Private Sub コマンドテストCToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles コマンドテストCToolStripMenuItem.Click

More information

VB実用⑨ エクセル操作Ⅲ

VB実用⑨ エクセル操作Ⅲ VB でエクセル操作 Ⅲ VB 2005 9 プログラムの概要 事務処理に於いて Microsoft 社のスプレッドシートソフトで有るエクセルは データベースソフトで有るアクセスと共に 業界標準 ( De Facto Standard) で有ると謂う事が出来る 今回は エクセルのセルに設定された書式の取得を 重点的に学ぶ 前回迄に学んだエクセル操作の為のオブジェクトの生成と 既存のエクセルのデータが実際に入力されて居る範囲と値の取得を元に

More information

エクセル詳細 アドイン

エクセル詳細 アドイン Microsoft Excel 詳細 アドイン Excel アドインの作成 Excel アドインを作成するには ブックを作成し コード ユーザー設定ツールバー 及び メニュー項目を追加して Excel アドインファイルとして保存する 1. 新しいブックを作成してコードを追加し ユーザー設定ツールバー 又は メニューバーを作成する 2.[ ファイル ] メニューの [ プロパティ ] をクリックする

More information

占領双六ゲーム

占領双六ゲーム 占領双六ゲーム VB 2005 9 プログラムの概要 赤と青の 2 者が順番にサイコロを振り 出た目の数だけ駒を進めて行き 停止したマス目を自分の色に塗り潰して 自分の陣地に出来ると謂う 所有る陣取りゲームを作成する マス目は最初に其のマスに停止した方の陣地となり 既に孰れかの色に塗り潰されて居るマスに 後から別の駒が停止しても 陣地の占領者が変わる事は無い 総てのマス目が孰れかの色に塗り潰されゝばゲームは終了し

More information

ADO.NETのアーキテクチャ

ADO.NETのアーキテクチャ データベース ADO.NET のアーキテクチャ 従来のデータ処理は 主に接続をベースとした 2 層モデルに基づいて居た 最近のデータ処理では 多階層アーキテクチャが多用される様に成った為 プログラマは 非接続型アプローチへと切り替えて アプリケーションに より優れたスケーラビリティを提供して居る ADO.NET のコンポーネント ADO.NET には データへのアクセスとデータの操作に使用出来るコンポーネントが

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

With sqlda sqlda に SelectCommand を追加.SelectCommand = New MySqlCommand() With.SelectCommand.CommandType = CommandType.Text.CommandText = "select * from

With sqlda sqlda に SelectCommand を追加.SelectCommand = New MySqlCommand() With.SelectCommand.CommandType = CommandType.Text.CommandText = select * from Imports MySql.Data.MySqlClient Public Class Form1 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Label3.Text = "MySQL のデータ表示と更新のテストを行います メニューから行いたい処理を選択して実行してください

More information

アプリケーション

アプリケーション アプリケーション開発 お絵かきソフト 目次 お絵かきソフトを作ってみよう... 3 絵を書く枠と場所表示を作る... 3 マウスの動きを見てみよう... 4 絵を書く準備をします... 5 絵を書くとはどういうことか... 5 では線画を描いてみよう... 6 マウスをドラッグしたときだけ線を引くように改造する... 8 お絵かきソフトを作ってみよう 今回は お絵かきソフトを作ってみましょう マウスを動かして線画を書いてみましょう

More information

基礎計算機演習 実習課題No6

基礎計算機演習 実習課題No6 実習課題 No.6 課題は 3 題ある. 課題 6-1 時間内提出 次の実行例のように, 名簿を出力するプログラムをつくりたい. このプログラムでは, まず人数をたずね, 次にその人数分の名前を入力し, それを再びコンソールに出力する. なお, 空の名前が入力されても終了せずにその欄は空欄で出力するものとする. 注意とヒント この課題では,string 型の配列をまず宣言する. このとき, 配列の要素はちょうど名簿に入力する人数分だけを宣言すること

More information

API 連携方式 外部 DLL の呼び出し宣言 外部 DLL の呼び出し宣言のサンプルコード (Microsoft Visual C#.NET の場合 ) プログラムコードの先頭で using System.Runtime.InteropServices; が必要 クラスの内部に以下のような外部 D

API 連携方式 外部 DLL の呼び出し宣言 外部 DLL の呼び出し宣言のサンプルコード (Microsoft Visual C#.NET の場合 ) プログラムコードの先頭で using System.Runtime.InteropServices; が必要 クラスの内部に以下のような外部 D GS1-128 の描画 DLL について (ver. 2.2) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される必要があります 使用条件 プリンタの解像度 300dpi 以上 機能 バーコードの基本幅を 1 ドット単位で指定できる

More information

データベース1

データベース1 データベース操作プログラム Ⅱ VB9 プログラムの概要 オブジェクト型の変数宣言を行い コード上で データベースに接続し SQL を発行する 今回は オブジェクト型の変数宣言に依り データベースと接続する為のオブジェクト 及び 検索文を発行した際にデータを格納するオブジェクトを コード上で生成してデータベースに接続し 各レコードのフィールド情報を取得して 其れをコンボボックスの項目に追加する 此れに依り

More information

バスケットボール

バスケットボール バスケットボール きょうつうへんすうせんげん 共通の変数を宣言する ひょうじ 1. ソリューションエクスプローラで コードの表示をクリックする つぎひょうじところしたかこにゅうりょく 2. 次のコードが表示されるので 1の所に 下の囲いのコードを入力する Imports System.Runtime.InteropServices Public Class Basketball にゅうりょく 1 ここに入力する!

More information

ASP.NET 2.0 Provider Model 概要

ASP.NET 2.0 Provider Model 概要 ASP.NET 2.0 Provider Model 概要 Agenda ASP.NET 2.0 Provider Model とは カスタムプロバイダの実装 まとめ ASP.NET 2.0 Provider Model とは ASP.NET 2.0 のインフラストラクチャ データストアへのアクセスをアプリケーションロジックから分離 データストアの変更に柔軟に対応 Strategy パターン デザインパターンによる意識の共通化

More information

占領双六ゲーム

占領双六ゲーム 占領双六ゲーム C# 2005 9 プログラムの概要 赤と青の 2 者が順番にサイコロを振り 出た目の数だけ駒を進めて行き 停止したマス目を自分の色に塗り潰して 自分の陣地に出来ると謂う 所有る陣取りゲームを作成する マス目は最初に其のマスに停止した方の陣地となり 既に孰れかの色に塗り潰されて居るマスに 後から別の駒が停止しても 陣地の占領者が変わる事は無い 総てのマス目が孰れかの色に塗り潰されゝばゲームは終了し

More information

万年暦プログラム

万年暦プログラム 万年暦プログラム C# 2005 7 プログラムの概要 年月をテキストボックスで指定した後 表示ボタンをクリックして 指定した年月のカレンダーを表示する 画面上部のグループボックスでは 現在の年月日と時間をリアルタイムで表示する 此の場合 時間丈でなく 日付が変われば 日付もリアルタイムで変化する 指定した年月のカレンダーを表示するには 日付と時間を扱う組込関数を使用し 亦 日付と時間をリアルタイム表示するには

More information

1.dll の配置場所配布時はプログラムの実行フォルダーへ配置 2. 開発環境での使用 プロジェクトのプロパティーで [USBPIO.dll] を参照追加してください 開発環境 dll ファイルの場所 VB.Net Express Edition 境プロジェクトのフォルダ \bin\release VB.Netebugビルドの場合プロジェクトのフォルダ \bin\debug VB.Net Releaseビルドの場合プロジェクトのフォルダ

More information

DEMO1 まずはやってみよう アクティビティをダブルクリック 作成 - プロジェクト C# => Workflow CodeActivity をぽとぺ シーケンシャルと ステートマシン それぞれのコ ンソールアプリ あとライブラリがある びっくりマークは足りていないあかし プロパティをみると判別で

DEMO1 まずはやってみよう アクティビティをダブルクリック 作成 - プロジェクト C# => Workflow CodeActivity をぽとぺ シーケンシャルと ステートマシン それぞれのコ ンソールアプリ あとライブラリがある びっくりマークは足りていないあかし プロパティをみると判別で DEMO1 まずはやってみよう アクティビティをダブルクリック 作成 - プロジェクト C# => Workflow CodeActivity をぽとぺ シーケンシャルと ステートマシン それぞれのコ ンソールアプリ あとライブラリがある びっくりマークは足りていないあかし プロパティをみると判別できます こんなコードを追加 string str = Console.ReadLine(); int

More information

GS1-128 の描画 DLL について (ver. 2.3) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される

GS1-128 の描画 DLL について (ver. 2.3) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される GS1-128 の描画 DLL について (ver. 2.3) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される必要があります 使用条件 プリンタの解像度 300dpi 以上 機能 バーコードの基本幅を 1 ドット単位で指定できる

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

インベーダープログラム

インベーダープログラム インベーダーゲーム VB 2005 5 プログラムの概要 テレビゲームの流行の魁と成る懐かしのゲーム インベーダー を作成する 先ず FIGHT!! ボタンをクリックすると インベーダーが左右に移動し乍ら 降下して来るので 自機を左右のカーソルキーで移動させ スペースキーでミサイルを発射する インベーダーが 最終ライン迄 降下して 侵略される前に 総てのインベーダーを撃墜しなければ ゲームは終了する

More information

Prog1_10th

Prog1_10th 2014 年 6 月 19 日 ( 木 ) 実施 例外処理 Java 言語では, 作成したプログラムを実行する際に, 記述した処理が想定しない事態によって実行できなくなる場合を例外と呼び, その例外への対処, 即ち例外処理が求められる 例外処理を行うための try 文の一般形は次のようになる 例外を発生させる可能性のある処理 catch( 例外のクラス名 1 変数 1 ) 例外に対処する処理 1 catch(

More information

チャットプログラム

チャットプログラム チャット VB 2005 5 プログラムの概要 Winsock コントロールを使用すると リモートコンピュータに接続し データを交換出来る事を利用して チャット ( 通信雑談システム ) を作成する サーバー クライアント共に 背景色が黄色のテキストボックスに必要項目を入力し 設定ボタンをクリックすると 通信が確立し チャットを開始する事が出来る 送信用テキストボックスに送信文を入力して送信ボタンをクリックすると

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 1 05 テキストフゔルからの入力 と 別のフォームを開く をいっぺんにやる星座を描く 1 今回作成するゕプリケーションの概要 座標の記入されているテキストフゔイルを読み込んで 表示ただし 表示するのは別のウィンドウ ( フォーム ) 行われる動作 [1] 座標の記入されているテキストフゔルを指定する [2] テキストフゔルで読み込んだ内容をテキストボックスにそのまま表示する [3] Draw ボタンをクリックすると別のウゖンドウが開く

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 配列とコレクション 配列の使い方 固定配列 動的配列 コレクションの使い方 今日の目的 固定配列の宣言例 プロシージャレベル Dim arybuf(0 To 5) As Long モジュールレベル Private arybuf(0 To 5) As Long Public arybuf(0 To 5) As Long 固定配列の宣言例 プロシージャレベル Dim arybuf(0 To 5) As

More information

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - chap10_OOP.ppt プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,

More information

相性占いプログラム

相性占いプログラム 相性占いプログラム C# 2005 1 プログラムの概要 画面上で 男女夫々れの誕生日の月日と血液型をコンボボックスより選択した後 占うボタンをクリックする 相性とアドバイス & ポイントは 血液型と星座の位置に依り 予め或る占術法に基づき作成されたデータをファイルより読み込んで配列に記憶させ 誕生日と血液型に依り算出された評価値に該当するデータを表示する 猶 必要な入力が行われて居ない場合には 警告音を鳴らして

More information

チャットプログラム

チャットプログラム チャット C# 2005 5 プログラムの概要 Winsock コントロールを使用すると リモートコンピュータに接続し データを交換出来る事を利用して チャット ( 通信雑談システム ) を作成する サーバー クライアント共に 背景色が黄色のテキストボックスに必要項目を入力し 設定ボタンをクリックすると 通信が確立し チャットを開始する事が出来る 送信用テキストボックスに送信文を入力して送信ボタンをクリックすると

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 演習課題レッスン (1) '(1) ワークシートどうしのやりとり ' ワークシート 請求書 1 から ワークシート データ収集 にデータを転記しましょう Sub example01() ' 請求書番号 ( 請求書 1のE2からデータ収集のA2へ ) Worksheets(" データ収集 ").Range("A2").Value = Worksheets(" 請求書 1").Range("E2").Value

More information

Prog1_6th

Prog1_6th 2019 年 10 月 31 日 ( 木 ) 実施配列同種のデータ型を有する複数のデータ ( 要素 ) を番号付けして, ひとまとまりの対象として扱うものを配列と呼ぶ 要素 point[0] point[1] point[2] point[3] point[4] 配列 配列の取り扱いに関して, 次のような特徴がある 1. プログラム中で用いる配列変数 ( 配列の本体を参照する参照型の変数 ) は必ず宣言しておく

More information

3D回転体プログラム

3D回転体プログラム 3D 回転体プログラム VB 2005 4 プログラムの概要 入力画面で マウスを用いて 側面より見た平面図を描きます マウスの左ボタンをクリックする事で連続線を描き 右ボタンをクリックすると新しい線を描く事が出来る 側面図が完成すると 回転の基本角度を設定して 確定ボタンをクリックすると 平面図を立体図に座標変換する 各軸の回転角度を設定して 表示ボタンをクリックすると 立体図が表示される 各軸の回転角度を変更して

More information

プレポスト【問題】

プレポスト【問題】 コース名 : 基礎から学ぶ!Excel VBA による業務の自動化 受講日 氏名 1 Excel VBA を使用するメリットとして誤っているものを 1 つ選びなさい 1. 手作業では手間のかかる作業も プログラムに記述した処理は一括して実行されるため 何段階ものメニュー操作を行う必要がなくなる 2. プログラムに書いた処理は記述どおりに実行されるため だれがいつ何回行っても確実な処理がなされ 誤動作を防ぐことができる

More information

データベースプログラミング

データベースプログラミング データセットとデータテーブル データセット (DataSet) とは何かに付いて 簡単に説明する データセットとは 典型的な.NET の Windows データベースアプリケーションでは データセットを通じてアプリケーションからデータベースにアクセスする データセットとは 簡単に謂うと データベースから取得したレコードをメモリ上に持つ為の入れ物で有る 例えば データベースからレコードを取得し 其れをグリッドコントロールに表示する様な

More information

(Microsoft Word \203v\203\215\203O\203\211\203~\203\223\203O)

(Microsoft Word \203v\203\215\203O\203\211\203~\203\223\203O) 21113 Visual Basic を利用したフリーソフト開発 要旨 各自でフリーソフトを作成 インターネット上に公開することを目的とし Visual Basic2008 2010 を使い簡単なアプリの作成に成功した 1. 目的情報化が進んだ現代において 社会に出ていくためにはパソコンの一つや二つ 軽く扱えなければならない さらに 資源の乏しい日本においては今後 情報技術の発展することが望ましいと考える

More information

回文作成支援プログラム

回文作成支援プログラム 電光掲示板プログラム C# 2005 1 プログラムの概要 掲示文を入力し 表示開始ボタンをクリックすると 入力した掲示文が 上部の表示域に 右から左へ流れる様に表示される 亦 表示停止ボタンをクリックすると 掲示文の動きが停止する 終了ボタンをクリックすると タイマーを停止し プログラムをメモリから消去して終了する 今回の課題項目 クラスレベルでグローバルな単純変数の宣言 (private) Windows

More information

パラパラ漫画

パラパラ漫画 パラパラ漫画 VB 2005 3 プログラムの概要 10 枚のピクチャーボックスの夫々れに マウスを左クリックしてドラッグする事に依り 連続線を引き 自由な絵を描く 此の場合 マウスを右クリックする事に依り 新たな線を描き始める事が出来る 描画の対象と成る各ピクチャーボックスは 戻るボタン又は 進むボタンをクリックする事に依り 変更する事が出来る 10 枚の絵を描き終われば ( 途中での再生も可 )

More information

コードページ

コードページ Encoding クラス 文字エンコーディングを表す 名前空間 :System.Text アセンブリ :mscorlib (mscorlib.dll 内 ) 解説 エンコーディングは Unicode 文字のセットをバイトシーケンスに変換するプロセスで有る デコードは 其の逆に成る エンコードされたバイトシーケンスを Unicode 文字のセットに変換するプロセスで有る Unicode Standard

More information

チア ダンス

チア ダンス チアダンス きょうつうへんすうこうぞうたいせんげん 共通の変数や構造体を宣言する せんたくひょうじ 1. ソリューションエクスプローラで CheerDance.vb を選択し コードの表示をクリックする 2. 次のコードが表示されるので 1の所に 下の囲いのコードを入力する Imports System.IO Public Class frmmain 1 ここに入力する! End Class Private

More information

回文作成支援プログラム

回文作成支援プログラム 回文作成支援プログラム C# 2005 2 プログラムの概要 原文を 1 字入力する度に 其の回文が順次表示される 即ち AB と入力すると ABA と表示され ABC と入力すると ABCBA と表示される 亦 消去ボタンをクリックすると 原文 及び 回文を消去する事も出来る 終了ボタンをクリックすると プログラムをメモリから消去して終了する 今回の課題項目 単純変数の宣言 ( データ型変数名 ;)

More information

MS Office オートメーション

MS Office オートメーション MS Office オートメーション Excel マクロのキックに依る印刷 Access では CSV や Excel 形式でのファイル保存が可能で有る 此れ利用して Excel のマクロを装備したシートに読み込んでマクロを実行し 印刷する方法を紹介する 一般的には, 単成るテキストファイルで有る CSV の方が Excel 形式ファイルより汎用性が有るが マクロで自動実行した時には が行頭に付いて居るセルを文字列型と仕て認識して仕舞うと謂う問題が発生する為

More information

データベースⅡ

データベースⅡ データベース操作プログラム Ⅱ VB 2005 9 プログラムの概要 オブジェクト型の変数宣言を行い コード上で データベースに接続し SQL を発行する 今回は オブジェクト型の変数宣言に依り データベースと接続する為のオブジェクト 及び 検索文を発行した際にデータを格納するオブジェクトを コード上で生成してデータベースに接続し 各レコードのフィールド情報を取得して 其れをコンボボックスの項目に追加する

More information

何時何処で誰が

何時何処で誰が 何時何処で誰が C# 2005 2 プログラムの概要 表示タブでは 表示ボタンをクリックする度に 各文節がランダムに選択されて表示される 編集タブでは 新たに文章を入力して追加したり 既存の文章を訂正して更新したり 不要の文章を削除したりする事が出来る 亦 先頭や末尾 1 つ前や 1 つ後のレコードに移動する為のボタンも用意する 今回は ファイルアクセスの基礎と成るシーケンシャルファイルの入出力全般に付いて学習する

More information

相性占いプログラム

相性占いプログラム 相性占いプログラム VB 2005 1 プログラムの概要 画面上で 男女夫々れの誕生日の月日と血液型をコンボボックスより選択した後 占うボタンをクリックする 相性とアドバイス & ポイントは 血液型と星座の位置に依り 予め或る占術法に基づき作成されたデータをファイルより読み込んで配列に記憶させ 誕生日と血液型に依り算出された評価値に該当するデータを表示する 猶 必要な入力が行われて居ない場合には 警告音を鳴らして

More information

データベースⅡ

データベースⅡ データベース操作プログラム Ⅱ C# 2005 9 プログラムの概要 オブジェクト型の変数宣言を行い コード上で データベースに接続し SQL を発行する 今回は オブジェクト型の変数宣言に依り データベースと接続する為のオブジェクト 及び 検索文を発行した際にデータを格納するオブジェクトを コード上で生成してデータベースに接続し 各レコードのフィールド情報を取得して 其れをコンボボックスの項目に追加する

More information

Prog2_15th

Prog2_15th 2019 年 7 月 25 日 ( 木 ) 実施メニューメニューバーとコンテクストメニュー Visual C# では, メニューはコントロールの一つとして扱われ, フォームアプリケーションの上部に配置されるメニューバーと, コントロール上でマウスを右クリックすると表示されるコンテクストメニューとに対応している これ等は選択するとメニューアイテムのリストが表示されるプルダウンメニューと呼ばれる形式に従う

More information

パラパラ漫画

パラパラ漫画 パラパラ漫画 C# 2005 3 プログラムの概要 10 枚のピクチャーボックスの夫々れに マウスを左クリックしてドラッグする事に依り 連続線を引き 自由な絵を描く 此の場合 マウスを右クリックする事に依り 新たな線を描き始める事が出来る 描画の対象と成る各ピクチャーボックスは 戻るボタン又は 進むボタンをクリックする事に依り 変更する事が出来る 10 枚の絵を描き終われば ( 途中での再生も可 )

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プロシージャ プロシージャの種類 Subプロシージャ Functionプロシージャ Propertyプロシージャ Sub プロシージャ Subステートメント~ステートメントで囲まれる 実行はするけど 値は返さない 途中で抜けたいときは Exit Sub を行なう Public Sub はマクロの実行候補に表示される Sub プロシージャの例 Public Sub TestSubProc() Call

More information

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版   Copyright 2018 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 辞書項目 API 3.1. 最新バージョン 3.1.1. 最新バージョンの辞書を取得する 3.2. 辞書項目 3.2.1. 辞書項目を取得する 3.2.2.

More information

sinfI2005_VBA.doc

sinfI2005_VBA.doc sinfi2005_vba.doc MS-ExcelVBA 基礎 (Visual Basic for Application). 主な仕様一覧 () データ型 主なもの 型 型名 型宣言文字 長さ 内容 整数型 Integer % 2 バイト -32,768 32,767 長整数型 Long & 4 バイト -2,47,483,648 2,47,483,647 単精度浮動小数点数 Single 型!

More information

メール送信

メール送信 メール Visual Basic 2005 でのメール送信 1 System.Net.Mail 名前空間の MailMessage クラスと SmtpClient クラスを使用 メール送信機能の有るアプリケーションを作成する必要が有る場合が有る 其処で 此処では メールの送信機能を持つアプリケーション ( 図 1) の作成方法に付いて紹介する 図 1 Visual Basic 6.0 では Microsoft

More information

XML(DOMガイド)

XML(DOMガイド) XML DOM ガイド 初心者の為の XML DOM ガイド イントロダクション 本稿は XML(eXtensible Markup Language) 形式のドキュメントからデータを受け取ろうと仕て居る Microsoft Visual Basic の開発者を対象と仕て居る 此処では XML ドキュメントから情報を取得し 其のデータを Visual Basic のソリューションに統合する方法を説明する

More information