▼質問
My.Application.UnhandledExceptionイベントって!
どんなことができるの?
▼回答
Windowsアプリケーションやコンソール・アプリケーションで
処理できなかった例外を、1カ所で処理することができるんだ。
■参考サイト
捕捉されなかった例外がスローされたことを知る: .NET Tips: C#, VB.NET, Visual Studio
@IT:.NET TIPS 適切に処理されなかった例外をキャッチするには? - C# VB.NET Windowsフォーム
AdMax右サイドバー広告
金曜日, 5月 29, 2009
日曜日, 5月 17, 2009
[JavaScript]replaceの全置換
▼質問
replaceの全置換ができないんだ。
どうしてなんだ?!
教えてくれ~!!
▼回答
replaceメソッドは、最初に見つかったものしか置換されないだ。
だから、次の様な関数を作成しておくと便利なんだ。
function replaceAll( s, sep1, sep2 ) {
return s.split(sep1).join(sep2);
}
使い方
出力文字列 = replaceAll( 入力文字列, 置換文字列, 置換後文字列 );
■参考サイト
JavaScript 文字列の置き換え - replace/replaceAll - JavaScript入門
replaceの全置換ができないんだ。
どうしてなんだ?!
教えてくれ~!!
▼回答
replaceメソッドは、最初に見つかったものしか置換されないだ。
だから、次の様な関数を作成しておくと便利なんだ。
function replaceAll( s, sep1, sep2 ) {
return s.split(sep1).join(sep2);
}
使い方
出力文字列 = replaceAll( 入力文字列, 置換文字列, 置換後文字列 );
■参考サイト
JavaScript 文字列の置き換え - replace/replaceAll - JavaScript入門
水曜日, 5月 13, 2009
[JavaScript]文字コードから文字変換
▼質問
文字コードから文字に変換したいんだ。
どうやったらできるか教えてくれ。
▼回答
StringオブジェクトのfromCharCodeメソッドを使えばできるよ。
使い方は、こんな感じだ。
String.fromCharCode(文字コード)
カンマで区切れば、複数の文字コードも
指定することができる。
String.fromCharCode(文字コード,文字コード)
ひらがなの文字コードを文字列にした
サンプルだ。
参考にしてみてくれ!!
var str = "";
var scode = "あ".charCodeAt(0);
var ecode = "ん".charCodeAt(0);
for ( i = scode ; i <= ecode ; i++ ) {
var c = String.fromCharCode(i);
str += c;
}
alert(str);
文字コードから文字に変換したいんだ。
どうやったらできるか教えてくれ。
▼回答
StringオブジェクトのfromCharCodeメソッドを使えばできるよ。
使い方は、こんな感じだ。
String.fromCharCode(文字コード)
カンマで区切れば、複数の文字コードも
指定することができる。
String.fromCharCode(文字コード,文字コード)
ひらがなの文字コードを文字列にした
サンプルだ。
参考にしてみてくれ!!
var str = "";
var scode = "あ".charCodeAt(0);
var ecode = "ん".charCodeAt(0);
for ( i = scode ; i <= ecode ; i++ ) {
var c = String.fromCharCode(i);
str += c;
}
alert(str);
木曜日, 4月 30, 2009
[JavaScript]入力ダイアログ(window.prompt)
▼質問
JavaScriptで入力ダイアログを使いたいんだ。
どうしたらできるか教えてくれ!
▼回答
windowオブジェクトにpromptというメソッドがあるよ。
使い方は次の様になるから、参考にしてくれ!!
var str = window.prompt( ダイアログに表示されるメッセージ, 初期値 );
JavaScriptで入力ダイアログを使いたいんだ。
どうしたらできるか教えてくれ!
▼回答
windowオブジェクトにpromptというメソッドがあるよ。
使い方は次の様になるから、参考にしてくれ!!
var str = window.prompt( ダイアログに表示されるメッセージ, 初期値 );
土曜日, 3月 21, 2009
[SQL]テーブル名とフィールド名の取得
▼質問
Oracleのテーブル名を取得したいんだ。
どうしたらできるか教えてくれ!
▼回答
次のSQL文を参考にしてくれ!
select * from tab
TNAME | TABTYPE | CLUSTERID
select * from all_tables
OWNER | TABLE_NAME | TABLESPACE_NAME | CLUSTER_NAME | IOT_NAME | STATUS |
PCT_FREE | PCT_USED | INI_TRANS | MAX_TRANS | INITIAL_EXTENT | NEXT_EXTENT |
MIN_EXTENTS | MAX_EXTENTS | PCT_INCREASE | FREELISTS | FREELIST_GROUPS |
LOGGING | BACKED_UP | NUM_ROWS | BLOCKS | EMPTY_BLOCKS | AVG_SPACE |
CHAIN_CNT | AVG_ROW_LEN | AVG_SPACE_FREELIST_BLOCKS | NUM_FREELIST_BLOCKS |
DEGREE | INSTANCES | CACHE | TABLE_LOCK | SAMPLE_SIZE | LAST_ANALYZED |
PARTITIONED | IOT_TYPE | TEMPORARY | SECONDARY | NESTED | BUFFER_POOL |
ROW_MOVEMENT | GLOBAL_STATS | USER_STATS | DURATION | SKIP_CORRUPT |
MONITORING | CLUSTER_OWNER | DEPENDENCIES | COMPRESSION | DROPPED
select * from user_tables
TABLE_NAME | TABLESPACE_NAME | CLUSTER_NAME | IOT_NAME | STATUS | PCT_FREE |
PCT_USED | INI_TRANS | MAX_TRANS | INITIAL_EXTENT | NEXT_EXTENT | MIN_EXTENTS |
MAX_EXTENTS | PCT_INCREASE | FREELISTS | FREELIST_GROUPS | LOGGING | BACKED_UP |
NUM_ROWS | BLOCKS | EMPTY_BLOCKS | AVG_SPACE | CHAIN_CNT | AVG_ROW_LEN |
AVG_SPACE_FREELIST_BLOCKS | NUM_FREELIST_BLOCKS | DEGREE | INSTANCES | CACHE |
TABLE_LOCK | SAMPLE_SIZE | LAST_ANALYZED | PARTITIONED | IOT_TYPE | TEMPORARY |
SECONDARY | NESTED | BUFFER_POOL | ROW_MOVEMENT | GLOBAL_STATS | USER_STATS |
DURATION | SKIP_CORRUPT | MONITORING | CLUSTER_OWNER | DEPENDENCIES |
COMPRESSION | DROPPED
▼質問
Oracleのフィールド名を取得したいんだ。
どうしたらできるか教えてくれ!
▼回答
次のSQL文を参考にしてくれ!
SELECT * FROM ALL_TAB_COLUMNS WHERE UPPER(TABLE_NAME) = 'テーブル名'
ORDER BY COLUMN_ID ASC
Oracleのテーブル名を取得したいんだ。
どうしたらできるか教えてくれ!
▼回答
次のSQL文を参考にしてくれ!
select * from tab
TNAME | TABTYPE | CLUSTERID
select * from all_tables
OWNER | TABLE_NAME | TABLESPACE_NAME | CLUSTER_NAME | IOT_NAME | STATUS |
PCT_FREE | PCT_USED | INI_TRANS | MAX_TRANS | INITIAL_EXTENT | NEXT_EXTENT |
MIN_EXTENTS | MAX_EXTENTS | PCT_INCREASE | FREELISTS | FREELIST_GROUPS |
LOGGING | BACKED_UP | NUM_ROWS | BLOCKS | EMPTY_BLOCKS | AVG_SPACE |
CHAIN_CNT | AVG_ROW_LEN | AVG_SPACE_FREELIST_BLOCKS | NUM_FREELIST_BLOCKS |
DEGREE | INSTANCES | CACHE | TABLE_LOCK | SAMPLE_SIZE | LAST_ANALYZED |
PARTITIONED | IOT_TYPE | TEMPORARY | SECONDARY | NESTED | BUFFER_POOL |
ROW_MOVEMENT | GLOBAL_STATS | USER_STATS | DURATION | SKIP_CORRUPT |
MONITORING | CLUSTER_OWNER | DEPENDENCIES | COMPRESSION | DROPPED
select * from user_tables
TABLE_NAME | TABLESPACE_NAME | CLUSTER_NAME | IOT_NAME | STATUS | PCT_FREE |
PCT_USED | INI_TRANS | MAX_TRANS | INITIAL_EXTENT | NEXT_EXTENT | MIN_EXTENTS |
MAX_EXTENTS | PCT_INCREASE | FREELISTS | FREELIST_GROUPS | LOGGING | BACKED_UP |
NUM_ROWS | BLOCKS | EMPTY_BLOCKS | AVG_SPACE | CHAIN_CNT | AVG_ROW_LEN |
AVG_SPACE_FREELIST_BLOCKS | NUM_FREELIST_BLOCKS | DEGREE | INSTANCES | CACHE |
TABLE_LOCK | SAMPLE_SIZE | LAST_ANALYZED | PARTITIONED | IOT_TYPE | TEMPORARY |
SECONDARY | NESTED | BUFFER_POOL | ROW_MOVEMENT | GLOBAL_STATS | USER_STATS |
DURATION | SKIP_CORRUPT | MONITORING | CLUSTER_OWNER | DEPENDENCIES |
COMPRESSION | DROPPED
▼質問
Oracleのフィールド名を取得したいんだ。
どうしたらできるか教えてくれ!
▼回答
次のSQL文を参考にしてくれ!
SELECT * FROM ALL_TAB_COLUMNS WHERE UPPER(TABLE_NAME) = 'テーブル名'
ORDER BY COLUMN_ID ASC
土曜日, 3月 14, 2009
[JavaScript]タイトル(title)を変更したい
▼質問
タイトル(title)を変更したいんだ。
どうしたらできるか教えてくれ!
▼回答
タイトル(title)を変更するには次の2つ方法がある。
top.document.title = "タイトル";
window.document.title = "タイトル";
フレームのタイトルを使いたい場合は、
フレームのHTMLファイル内に次のコードを書けばいい。
top.document.title = top.自フレーム名.document.title;
タイトル(title)を変更したいんだ。
どうしたらできるか教えてくれ!
▼回答
タイトル(title)を変更するには次の2つ方法がある。
top.document.title = "タイトル";
window.document.title = "タイトル";
フレームのタイトルを使いたい場合は、
フレームのHTMLファイル内に次のコードを書けばいい。
top.document.title = top.自フレーム名.document.title;
金曜日, 3月 13, 2009
[JavaScript]クエリのパラメータ(QueryString)取得
▼質問
クエリ文字列(QueryString)のパラメータを取得したいんだ。
どうしたらできるか教えてくれ!
▼回答
次のコード参考にしてくれ!
■参考サイト
JavaScript:URLからパラメータ取得したい - Insider.NET
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7297&forum=7&2
クエリ文字列(QueryString)のパラメータを取得したいんだ。
どうしたらできるか教えてくれ!
▼回答
次のコード参考にしてくれ!
<script language="JavaScript" for="window" event="onload"> 
<!-- 
var QueryString = location.search.split("?");
if ( QueryString.length > 0 ) {
  alert( QueryString[1] );
}
// --> 
</script>
■参考サイト
JavaScript:URLからパラメータ取得したい - Insider.NET
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7297&forum=7&2
金曜日, 3月 06, 2009
HTML文字コード表
|   | @ | @ | ` | ` | € |  |   | À | À | à | à | ||
| ! | ! | A | A | a | a |  |  | ¡ | ¡ | Á | Á | á | á | 
| " | " | B | B | b | b | ‚ |  | ¢ | ¢ | Â | Â | â | â | 
| # | # | C | C | c | c | ƒ |  | £ | £ | Ã | Ã | ã | ã | 
| $ | $ | D | D | d | d | „ |  | ¤ | ¤ | Ä | Ä | ä | ä | 
| % | % | E | E | e | e | … | ¥ | ¥ | Å | Å | å | å | |
| & | & | F | F | f | f | † |  | ¦ | ¦ | Æ | Æ | æ | æ | 
| ' | ' | G | G | g | g | ‡ |  | § | § | Ç | Ç | ç | ç | 
| ( | ( | H | H | h | h | ˆ |  | ¨ | ¨ | È | È | è | è | 
| ) | ) | I | I | i | i | ‰ |  | © | © | É | É | é | é | 
| * | * | J | J | j | j | Š |  | ª | ª | Ê | Ê | ê | ê | 
| + | + | K | K | k | k | ‹ |  | « | « | Ë | Ë | ë | ë | 
| , | , | L | L | l | l | Œ |  | ¬ | ¬ | Ì | Ì | ì | ì | 
| - | - | M | M | m | m |  |  | ­ |  | Í | Í | í | í | 
| . | . | N | N | n | n | Ž |  | ® | ® | Î | Î | î | î | 
| / | / | O | O | o | o |  |  | ¯ | ¯ | Ï | Ï | ï | ï | 
| 0 | 0 | P | P | p | p |  |  | ° | ° | Ð | Ð | ð | ð | 
| 1 | 1 | Q | Q | q | q | ‘ |  | ± | ± | Ñ | Ñ | ñ | ñ | 
| 2 | 2 | R | R | r | r | ’ |  | ² | ² | Ò | Ò | ò | ò | 
| 3 | 3 | S | S | s | s | “ |  | ³ | ³ | Ó | Ó | ó | ó | 
| 4 | 4 | T | T | t | t | ” |  | ´ | ´ | Ô | Ô | ô | ô | 
| 5 | 5 | U | U | u | u | • |  | µ | µ | Õ | Õ | õ | õ | 
| 6 | 6 | V | V | v | v | – |  | ¶ | ¶ | Ö | Ö | ö | ö | 
| 7 | 7 | W | W | w | w | — |  | · | · | × | × | ÷ | ÷ | 
| 8 | 8 | X | X | x | x | ˜ |  | ¸ | ¸ | Ø | Ø | ø | ø | 
| 9 | 9 | Y | Y | y | y | ™ |  | ¹ | ¹ | Ù | Ù | ù | ù | 
| : | : | Z | Z | z | z | š |  | º | º | Ú | Ú | ú | ú | 
| ; | ; | [ | [ | { | { | › |  | » | » | Û | Û | û | û | 
| < | < | \ | \ | | | | | œ |  | ¼ | ¼ | Ü | Ü | ü | ü | 
| = | = | ] | ] | } | } |  |  | ½ | ½ | Ý | Ý | ý | ý | 
| > | > | ^ | ^ | ~ | ~ | ž |  | ¾ | ¾ | Þ | Þ | þ | þ | 
| ? | ? | _ | _ |  |  | Ÿ |  | ¿ | ¿ | ß | ß | ÿ | ÿ | 
[JavaScript]インラインフレーム(iframe)の動的操作
▼質問
iframe(インラインフレーム)の内容を動的に操作したいんだ。
どうしたらできるか教えてくれ!!
▼回答
次のコードを参考にしてくれ!
iframe(インラインフレーム)の内容を動的に操作したいんだ。
どうしたらできるか教えてくれ!!
▼回答
次のコードを参考にしてくれ!
var iframe = document.getElementById(インラインフレームのID);
if ( document.all ) {
iframedoc = iframe.contentWindow.document;
} else {
iframedoc = iframe.contentDocument;
}
iframedoc.writeln("<body></body>");
iframedoc.body.innerHTML = "テスト";
[JavaScript]JSON(JavaScript Object Notation)って何?
▼質問
JSON(JavaScript Object Notation)って何?
▼回答
テキストベースのデータフォーマット(軽量のデータ交換フォーマット)。
XMLとJSONで同じデータを双方独自の
フォーマット形式で記述できる。
●XMLの例
<ルート>
<要素1>要素①要素1>
<要素2>要素②要素2>
ルート>
●JSONの例
{
"要素1":"要素①",
"要素2":"要素②"
}
■参考サイト
[Think IT] 第1回:JSONってなにもの? (1/3)
http://www.thinkit.co.jp/article/70/1/
JSON入門 - RapidShare
http://d.hatena.ne.jp/brazil/20050915/1126709945
JSON(JavaScript Object Notation)って何?
▼回答
テキストベースのデータフォーマット(軽量のデータ交換フォーマット)。
XMLとJSONで同じデータを双方独自の
フォーマット形式で記述できる。
●XMLの例
<ルート>
<要素1>要素①要素1>
<要素2>要素②要素2>
ルート>
●JSONの例
{
"要素1":"要素①",
"要素2":"要素②"
}
■参考サイト
[Think IT] 第1回:JSONってなにもの? (1/3)
http://www.thinkit.co.jp/article/70/1/
JSON入門 - RapidShare
http://d.hatena.ne.jp/brazil/20050915/1126709945
水曜日, 2月 18, 2009
[XML or XSLT]属性値の出力
▼質問
livedoorの気象データ提供サービス「Weather Hacks」を試しているんだ。
下記のXMLファイルにあるtitle属性の値をXSLTを使って出力したいんだ。
http://weather.livedoor.com/forecast/rss/forecastmap.xml
どうしたらできるか教えてくれ!
▼回答
次のプログラムを参考にしてくれ!
・main.xml
・main.xsl
■参考サイト
XSLT > 要素テキスト・属性値の出力 @みっちーわーるど
http://www1.mahoroba.ne.jp/~mitt/xml/xslt/step06.htm
[Think IT] 第2回:APIを使ったブログパーツを作ろう! (1/3)
http://thinkit.jp/article/850/1/
XSLTスタイルシート書き方講座 応用編(2):XMLデータの埋め込みと相互参照
http://www.atmarkit.co.jp/fxml/tanpatsu/10xslt/xslt06.html
livedoorの気象データ提供サービス「Weather Hacks」を試しているんだ。
下記のXMLファイルにあるtitle属性の値をXSLTを使って出力したいんだ。
http://weather.livedoor.com/forecast/rss/forecastmap.xml
どうしたらできるか教えてくれ!
▼回答
次のプログラムを参考にしてくれ!
・main.xml
<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="main.xsl" ?>
<forecastmap_list>
  <title>livedoor 天気情報(1次細分区定義表)</title>
  <forecastmap href="http://weather.livedoor.com/forecast/rss/forecastmap.xml"/>
</forecastmap_list>
・main.xsl
<?xml version="1.0" encoding="Shift_JIS" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:param name="area_title" />
<xsl:template match="/">
  <html>
 <head>
   <title><xsl:value-of select="forecastmap_list/title" /></title>
 </head>
    <body>
      <xsl:apply-templates />
    </body>
  </html>
</xsl:template>
<xsl:template match="forecastmap_list">
  <xsl:apply-templates select="title" />
  <table border="3">
  <xsl:apply-templates select="forecastmap" />
  </table>
</xsl:template>
<xsl:template match="title">
  <h1><xsl:value-of select="." /></h1>
</xsl:template>
<xsl:template match="forecastmap">
    <tr>
      <th>地方名</th>
      <th>都道府県名</th>
      <th>観測地点名</th>
    </tr>
    <xsl:variable name="map" select="document(@href)" />
    <xsl:for-each select="$map">
      <xsl:apply-templates />
   </xsl:for-each>
</xsl:template>
<xsl:template match="area">
  <xsl:apply-templates>
    <xsl:with-param name="area_title" select="@title" />
  </xsl:apply-templates>
</xsl:template>
<xsl:template match="pref">
  <xsl:param name="area_title" select="$area_title" />
  <xsl:apply-templates>
    <xsl:with-param name="area_title" select="$area_title" />
  </xsl:apply-templates>
</xsl:template>
<xsl:template match="city">
  <xsl:param name="area_title" select="$area_title" />
  <tr>
    <td><xsl:value-of select="$area_title" /></td>
    <td><xsl:value-of select="parent::pref/@title" /></td>
    <td>
      <xsl:element name="a">
        <xsl:attribute name="href">
          <xsl:value-of select="@source" />
        </xsl:attribute>
        <xsl:attribute name="target">_blank</xsl:attribute>
        <xsl:value-of select="@title" />
      </xsl:element>
    </td>
  </tr>
</xsl:template>
</xsl:stylesheet>
■参考サイト
XSLT > 要素テキスト・属性値の出力 @みっちーわーるど
http://www1.mahoroba.ne.jp/~mitt/xml/xslt/step06.htm
[Think IT] 第2回:APIを使ったブログパーツを作ろう! (1/3)
http://thinkit.jp/article/850/1/
XSLTスタイルシート書き方講座 応用編(2):XMLデータの埋め込みと相互参照
http://www.atmarkit.co.jp/fxml/tanpatsu/10xslt/xslt06.html
土曜日, 2月 14, 2009
[C++2005]fatal error C1083: include ファイルを開けません。'atlapp.h': No such file or directory
▼質問
次のサイトのサンプルを試してみたんだ。
programmer´s real life and so on ≫ WTLでVS2005風メニュー
そしたら、
次のエラーが出るんだ。
「fatal error C1083: include ファイルを開けません。
'atlapp.h': No such file or directory」
どうしたらよいか教えてくれ!
▼回答
Visual Studio 2005には、標準でWTLが含まれていないんだ。
だから、WTLをインストールすればいいんだ。
下記のサイトを参考にしてみてくれ!
WTLをインストールする (UsefullCode.net)
次のサイトのサンプルを試してみたんだ。
programmer´s real life and so on ≫ WTLでVS2005風メニュー
そしたら、
次のエラーが出るんだ。
「fatal error C1083: include ファイルを開けません。
'atlapp.h': No such file or directory」
どうしたらよいか教えてくれ!
▼回答
Visual Studio 2005には、標準でWTLが含まれていないんだ。
だから、WTLをインストールすればいいんだ。
下記のサイトを参考にしてみてくれ!
WTLをインストールする (UsefullCode.net)
火曜日, 2月 03, 2009
[VB2005]数値入力用のテキストボックス・コンボボックス
▼質問
数値入力専用のテキストボックスとコンボボックスを作成したいんだ。
どうしたらできるか教えてくれ!
▼回答
次のコードを参考にしてくれ!!
カスタムテキストボックスとコンボボックスだ。
数値入力専用のテキストボックスとコンボボックスを作成したいんだ。
どうしたらできるか教えてくれ!
▼回答
次のコードを参考にしてくれ!!
カスタムテキストボックスとコンボボックスだ。
Option Strict On
Option Explicit On
Public Class CustomTextBox
    Inherits System.Windows.Forms.TextBox
    ''' 
    ''' System.Windows.Forms.TextBox.KeyPress イベントで発生します.
    ''' 
    ''' コントロールオブジェクト.
    ''' EventArgsクラス.
    Private Sub CustomTextBox_KeyPress(ByVal sender As Object, _
                    ByVal e As System.Windows.Forms.KeyPressEventArgs) _
                    Handles Me.KeyPress
        If (Asc(e.KeyChar) = System.Windows.Forms.Keys.Back) Then Exit Sub
        '数値キーをチェックする.
        If (Not e.KeyChar Like "[0-9]") Then e.KeyChar = CChar("")
    End Sub
End Class
Option Strict On
Option Explicit On
Public Class CustomComboBox
    Inherits System.Windows.Forms.ComboBox
    ''' 
    ''' System.Windows.Forms.TextBox.KeyPress イベントで発生します.
    ''' 
    ''' コントロールオブジェクト.
    ''' EventArgsクラス.
    Private Sub CustomTextBox_KeyPress(ByVal sender As Object, _
                   ByVal e As System.Windows.Forms.KeyPressEventArgs) _
                   Handles Me.KeyPress
        If (Asc(e.KeyChar) = System.Windows.Forms.Keys.Back) Then Exit Sub
        '数値キーをチェックする.
        If (Not e.KeyChar Like "[0-9]") Then e.KeyChar = CChar("")
    End Sub
End Class
[VB2005]MessageBoxのメッセージが隠れる
▼質問
MessageBoxのメッセージが隠れるんだ。
MsgBoxではなかった気がするんだが、
どうしてなんだ?!
▼回答
オーナー画面のTopMostプロパティにTrueが
設定されているか確認してくれ!
これを回避するには、MessageBoxのShowに
オーナー画面のオブジェクトを渡してやるんだ!
MessageBox.Show メソッド (IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon)
MessageBox.Show(Me, "メッセージ", "タイトル", MessageBoxButtons, MessageBoxIcon)
MessageBoxのメッセージが隠れるんだ。
MsgBoxではなかった気がするんだが、
どうしてなんだ?!
▼回答
オーナー画面のTopMostプロパティにTrueが
設定されているか確認してくれ!
これを回避するには、MessageBoxのShowに
オーナー画面のオブジェクトを渡してやるんだ!
MessageBox.Show メソッド (IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon)
MessageBox.Show(Me, "メッセージ", "タイトル", MessageBoxButtons, MessageBoxIcon)
火曜日, 1月 27, 2009
[VB2005]Date型のOptional
▼質問
Date型をOptionalで指定したいんだ。
Nowを定数にしようとしたけどうまくいかないんだ。
どうしたらよいか教えてくれ!!
▼回答
次の様に指定すればできるから試してみてくれ!!
Optional ByVal pDate As Date = #1/1/2000#
Optional ByVal pDate As Date = #1/1/2000 1:00:00 AM#
■参考サイト
VB.NET/文法/型/Date型 - Security Akademeia
http://wiki.akademeia.info/index?VB.NET%2F%CA%B8%CB%A1%2F%B7%BF%2FDate%B7%BF
Date型をOptionalで指定したいんだ。
Nowを定数にしようとしたけどうまくいかないんだ。
どうしたらよいか教えてくれ!!
▼回答
次の様に指定すればできるから試してみてくれ!!
Optional ByVal pDate As Date = #1/1/2000#
Optional ByVal pDate As Date = #1/1/2000 1:00:00 AM#
■参考サイト
VB.NET/文法/型/Date型 - Security Akademeia
http://wiki.akademeia.info/index?VB.NET%2F%CA%B8%CB%A1%2F%B7%BF%2FDate%B7%BF
[VB2005]半角から全角に変換
▼質問
半角の数字を全角に変換したいんだ。
どうしたらできるか教えてくれ!
▼回答
StrConv関数を使えばできるよ!!
StrConv(CStr(数字), VbStrConv.Wide)
この関数は、数字以外でも変換してくれるか便利だ!
反対に全角を半角にしたい時は、次の様にすればOKだ。
StrConv(CStr(数字), VbStrConv.Narrow)
■参考サイト
@IT:.NET TIPS 文字列を全角/半角に変換するには?(VB.NET関数活用) - C#
http://www.atmarkit.co.jp/fdotnet/dotnettips/265vbhanzen/vbhanzen.html
半角の数字を全角に変換したいんだ。
どうしたらできるか教えてくれ!
▼回答
StrConv関数を使えばできるよ!!
StrConv(CStr(数字), VbStrConv.Wide)
この関数は、数字以外でも変換してくれるか便利だ!
反対に全角を半角にしたい時は、次の様にすればOKだ。
StrConv(CStr(数字), VbStrConv.Narrow)
■参考サイト
@IT:.NET TIPS 文字列を全角/半角に変換するには?(VB.NET関数活用) - C#
http://www.atmarkit.co.jp/fdotnet/dotnettips/265vbhanzen/vbhanzen.html
日曜日, 1月 18, 2009
[VB2005]ExcelのValue値取得
▼質問
ExcelのValue値を取得したいんだ。
どうしたらできるか教えてくれ!
▼回答
サンプルを示すから参考にしてくれ!!
これを実行すると面白い事が起きる。
配列の始まりが1から始まるのだ!
VB6では、Dim obj(1 To 3) As Object ができたけどね!
VB.NETからは、0始まりしか作れない。痛い(>_<)
なぜ、Excelだけ1からの配列が作れるんだ!?
不思議だ!!
ExcelのValue値を取得したいんだ。
どうしたらできるか教えてくれ!
▼回答
サンプルを示すから参考にしてくれ!!
    Public Shared Sub GetExcelValue(ByVal strFilePath As String, _
                                    ByRef val(,) As Object, _
                                    Optional ByVal maxRow As Integer = 65536)
        Dim xlApp As Excel.Application = Nothing
        Try
            xlApp = CreateObject("Excel.Application")
            If IsNothing(xlApp) Then Exit Sub
            xlApp.Workbooks.Open(Filename:=strFilePath)
            xlApp.WindowState = Excel.XlWindowState.xlMinimized
            xlApp.Visible = False
            xlApp.DisplayAlerts = False
            xlApp.ScreenUpdating = False
            Dim wWorksheet As Excel.Worksheet = _
                CType(xlApp.ActiveWorkbook.ActiveSheet, Excel.Worksheet)
            With wWorksheet
                .Unprotect()
                Application.DoEvents()
                'Value値取得(全セルを取得するとメモリのエラーになるので注意が必要!)
                val = .Range("A1:IV" & maxRow).Value
            End With
            GC.Collect()
        Catch ex As Exception
        Finally
            If (Not IsNothing(xlApp)) Then xlApp.Quit()
            xlApp = Nothing
            GC.Collect()
        End Try
    End Sub
これを実行すると面白い事が起きる。
配列の始まりが1から始まるのだ!
VB6では、Dim obj(1 To 3) As Object ができたけどね!
VB.NETからは、0始まりしか作れない。痛い(>_<)
なぜ、Excelだけ1からの配列が作れるんだ!?
不思議だ!!
金曜日, 1月 16, 2009
[VB2005]System.InvalidOperationException はハンドルされませんでした。
▼質問
いきなり、次のエラーが出るようになった。
System.InvalidOperationException はハンドルされませんでした。
Message="フォームの作成中にエラーが発生しました。詳細については、Exception.InnerException を参照してください。エラー: オブジェクト参照がオブジェクト インスタンスに設定されていません。"
Source="アセンブリ名"
StackTrace:
場所 アセンブリ名.My.MyProject.MyForms.Create__Instance__[T](T Instance) 場所 17d14f5c-a337-4978-8281-53493378c1071.vb:行 190
場所 アセンブリ名.My.MyProject.MyForms.get_frmTrendAnalyzeMenu()
場所 アセンブリ名.My.MyApplication.OnCreateMainForm() 場所 C:\パス\TrdAnalyze\My Project\Application.Designer.vb:行 35
場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
場所 アセンブリ名.My.MyApplication.Main(String[] Args) 場所 17d14f5c-a337-4978-8281-53493378c1071.vb:行 81
場所 System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
場所 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
場所 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
場所 System.Threading.ThreadHelper.ThreadStart()
▼回答
いきなり、次のエラーが出るようになった。
System.InvalidOperationException はハンドルされませんでした。
Message="フォームの作成中にエラーが発生しました。詳細については、Exception.InnerException を参照してください。エラー: オブジェクト参照がオブジェクト インスタンスに設定されていません。"
Source="アセンブリ名"
StackTrace:
場所 アセンブリ名.My.MyProject.MyForms.Create__Instance__[T](T Instance) 場所 17d14f5c-a337-4978-8281-53493378c1071.vb:行 190
場所 アセンブリ名.My.MyProject.MyForms.get_frmTrendAnalyzeMenu()
場所 アセンブリ名.My.MyApplication.OnCreateMainForm() 場所 C:\パス\TrdAnalyze\My Project\Application.Designer.vb:行 35
場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
場所 アセンブリ名.My.MyApplication.Main(String[] Args) 場所 17d14f5c-a337-4978-8281-53493378c1071.vb:行 81
場所 System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
場所 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
場所 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
場所 System.Threading.ThreadHelper.ThreadStart()
▼回答
月曜日, 12月 29, 2008
[VB2005]Excel処理の高速化
▼質問
大量のデータをデータベースから読込んでExcelのシートに表示したいんだ。
ループしてValueにデータを格納すると遅くなるんだ。
一括してデータを格納する方法はないのか?!
▼回答
一括してデータを貼り付ける方法はあるよ。
まず、セルの行と列を2次元にしたデータ領域を作成するんだ。
Dim value(5, 2) As String
この領域にデータを格納して、次の様にRangeに貼り付ける範囲を指定して
Range("A1:B5").Value = value
Valueに2次元配列を格納すれば、配列に格納したイメージのままセルに
データが貼り付けられるんだ。
大量のデータをデータベースから読込んでExcelのシートに表示したいんだ。
ループしてValueにデータを格納すると遅くなるんだ。
一括してデータを格納する方法はないのか?!
▼回答
一括してデータを貼り付ける方法はあるよ。
まず、セルの行と列を2次元にしたデータ領域を作成するんだ。
Dim value(5, 2) As String
この領域にデータを格納して、次の様にRangeに貼り付ける範囲を指定して
Range("A1:B5").Value = value
Valueに2次元配列を格納すれば、配列に格納したイメージのままセルに
データが貼り付けられるんだ。
金曜日, 12月 26, 2008
[VB2005]ExcelのA1形式で列名取得
▼質問
Excelの参照形式で表示されるA1形式の数字以外の列名を取得したいんだ。
どうしたらできるか教えてくれ!
▼回答
サンプルを示すから参考にしてくれ!!
Excelの参照形式で表示されるA1形式の数字以外の列名を取得したいんだ。
どうしたらできるか教えてくれ!
▼回答
サンプルを示すから参考にしてくれ!!
    Public Shared Sub GetExcelA1Address(ByRef strA1() As String)
        Dim xlApp As Excel.Application = Nothing
        Try
            xlApp = CreateObject("Excel.Application")
            If IsNothing(xlApp) Then Exit Sub
            xlApp.Workbooks.Add()
            xlApp.WindowState = Excel.XlWindowState.xlMinimized
            xlApp.Visible = False
            xlApp.DisplayAlerts = False
            xlApp.ScreenUpdating = False
            Dim wWorksheet As Excel.Worksheet = _
                CType(xlApp.ActiveWorkbook.ActiveSheet, Excel.Worksheet)
            ReDim strA1(256)
            '最大列数分ループする。
            For i As Integer = 1 To 256
                strA1(i) = Replace(Split(CType(wWorksheet.Columns(i), _
                Excel.Range).Address(False, True, Excel.XlReferenceStyle.xlA1), _
                ":")(0), "$", "")
            Next i
            GC.Collect()
        Catch ex As Exception
        Finally
            If (Not IsNothing(xlApp)) Then xlApp.Quit()
            xlApp = Nothing
            GC.Collect()
        End Try
    End Sub
登録:
コメント (Atom)