【ソフトウェア】SQL Gears for Oracle
Oracleデータベースに対して様々な操作を行う開発ツールです。
ダウンロード
SQL Gears for Oracle Ver.2016.3.25.1β (2016/03/25)
- 更新内容
- readme.txt参照
※著作権や免責事項などについては同梱の readme.txt をご覧ください。
動作環境
- Windows 7(動作確認)
- .NET Framework 4
- Oracle クライアント 8.1.7 以降
- (インポート機能を使用する場合はSQL*Loaderが必要)
マニュアル
操作方法は世に出回るデータベース開発ツールに似たものにしています。
順次、操作方法については記載していこうと思っています。
【Excel VBA】セルを方眼化
' ' セルを方眼化する。 ' Sub セルを方眼化() On Error Resume Next Application.ScreenUpdating = False With Cells .ColumnWidth = 2.17 .RowHeight = 13.5 End With Range("A1").Select Application.ScreenUpdating = True End Sub
【Excel VBA】選択範囲をRangeとして取得する(複数選択範囲対応)
選択範囲をRangeとして取得します。
Ctrlキーを押しながら選択すると複数の選択範囲が指定可能ですが、その場合はSelectionでは全ての選択範囲が取得出来ません。
Selection.Areasを利用して全ての選択範囲を結合したRangeを取得します。
' ' 選択範囲をRangeとして取得する。(複数選択範囲対応) ' Private Function GetSelectionRange() As Range Dim allRange As Range Dim r As Range For Each r In Selection.Areas If allRange Is Nothing Then Set allRange = r Else Set allRange = Union(allRange, r) End If Next Set GetSelectionRange = allRange End Function
【Excel VBA】開いているブックが保存されているフォルダを開く
Excelブックが保存されているフォルダを開きます。
' ' 開いているブックが保存されているフォルダを開く。 ' Public Sub フォルダを開く() If ActiveWorkbook.path = "" Then MsgBox "ファイルはまだ保存されていません。", vbCritical, "エラー" Else CreateObject("Shell.Application").Open ActiveWorkbook.path End If End Sub
【Excel VBA】全てのシートの左上セルを選択後に先頭シートをアクティブ化
全てのシートの左上セルを選択後に先頭シートをアクティブにします。
ドキュメント作成後にこのマクロを実行してから保存すると良いと思います。
' ' 全てのシートを左上選択状態にする ' Public Sub 全シート左上セル選択() On Error Resume Next ' 画面更新の停止 Application.ScreenUpdating = False ' 全シート分実行 Dim i As Integer For i = 1 To Worksheets.Count ' シートをアクティブ化 Worksheets(i).Activate ' 左上にスクロール Dim j As Integer For j = 1 To Windows(1).Panes.Count Windows(1).Panes(j).ScrollColumn = 1 Windows(1).Panes(j).ScrollRow = 1 Next ActiveSheet.Cells(1, 1).Select ' 左上を選択 ActiveWindow.View = xlNormalView ' 改ページプレビュー解除 ActiveWindow.Zoom = 100 ' 倍率100% Next ' 1番目のシートをアクティブ化 Worksheets(1).Activate ' 画面更新の再開 Application.ScreenUpdating = True End Sub
【VB.NET】ComboBoxにDataSource設定用のメソッドを追加
下記のようにKeyValuePairのリストや配列を指定するだけで、DataSource/DisplayMember/ValueMemberを設定することができるメソッドをComboBoxに追加します。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim dataList As New List(Of KeyValuePair(Of String, String))() dataList.Add(New KeyValuePair(Of String, String)("A", "1")) dataList.Add(New KeyValuePair(Of String, String)("B", "2")) dataList.Add(New KeyValuePair(Of String, String)("C", "3")) ComboBoxEx1.SetData(dataList, True, True) End Sub Private Sub ComboBoxEx1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBoxEx1.SelectedIndexChanged MessageBox.Show(ComboBoxEx1.SelectedValue.ToString()) End Sub
KeyValuePairのジェネリックの2番目の型を変更することで、ValueMemberに設定する型を変更することもできます。
Public Class ComboBoxEx Inherits ComboBox ''' <summary> ''' データを設定する。 ''' </summary> ''' <param name="items">表示テキストと値の組み合わせ項目リスト。</param> ''' <param name="addEmpty">先頭に空白を追加するかどうか。</param> ''' <param name="autoSize">内容に合わせて幅を自動調整するかどうか。</param> Public Sub SetData(ByVal items As IEnumerable(Of KeyValuePair(Of String, String)), _ ByVal addEmpty As Boolean, _ ByVal autoSize As Boolean) ' 設定データクリア ClearData() Dim itemList As List(Of KeyValuePair(Of String, String)) = items.ToList() ' 空アイテムの追加 If addEmpty Then itemList.Insert(0, New KeyValuePair(Of String, String)("", "")) End If ' バインド MyBase.DisplayMember = "Key" MyBase.ValueMember = "Value" MyBase.DataSource = itemList ' 幅の自動調整 If autoSize Then If itemList.Count = 0 Then Return End If Dim maxWidth As Integer = 0 Dim g As Graphics = MyBase.CreateGraphics() ' 表示テキストの最大長+余白分の幅 MyBase.Width = CInt(items.Select(Function(item) g.MeasureString(Convert.ToString(item.Key), MyBase.Font).Width).Max()) + 20 End If End Sub ''' <summary> ''' 設定データをクリアする。 ''' </summary> Public Sub ClearData() If MyBase.DataSource Is Nothing Then ' アイテムクリア MyBase.Items.Clear() Else ' データソースクリア MyBase.DataSource = Nothing End If End Sub End Class
【C#】番号付きの画像を生成
using System.Drawing; /// <summary> /// 番号付きの画像を生成する。 /// </summary> /// <param name="sourceImage">元画像。</param> /// <param name="number">番号。</param> /// <param name="fontColor">番号の文字色。</param> /// <returns>番号付きの画像。</returns> public static Image CreateNumberImage(Image sourceImage, int number, Font font, Color fontColor) { using (Graphics g = Graphics.FromImage(sourceImage)) using (SolidBrush b = new SolidBrush(fontColor)) { g.DrawString(number.ToString(), font, b, new Point(-2, 7)); } return sourceImage; }