admin menu ≫  image  writes  admin
2009年05月の記事一覧
≪04month
This 2009.05 Month All
06month≫
スポンサーサイト 
--.--.--.-- 
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
今日は久しぶりの百式で・・・(142) 
2009.05.31.Sun 
午前中のしたみぃ???・・・なぁ??んも居ませんでした(><;;
で!!午後から場所を変えて大爆笑!!
G3さん、はるパパさん、ototoさん、Mさん、お疲れ様でしたぁ??!!またよろしくですぅ?(^^v
あれだけ投げてキスが散らなかったのは多分?・・・遠くで大っきな黒鯛があがってましたよぉ?(@@;
▽続きを読む
スポンサーサイト
「ブックを閉じたら・・・」再び問題発生!! 
2009.05.30.Sat 
 もしかして、これがエクセルが異状終了する原因だったかも??・・・取りあえず「TheisWorkbook」に書いてたマクロを書き直し、開始処理を追加し終了処理方法を変更してみたが・・・

Private Sub Workbook_Open()
'マクロを有効にしてブックをオープンした直後に、
'VBスクリプトでタイトルメッセージを出し、
'ブール型のPublic変数Cancelflgに「FalseまたはTrue」を設定してから、
'CancelflgButtonの表示を設定する。
Vbs_Msg """タイトル""", 3, "オープン処理中"
Cancelflg = False 'クローズボタン有効
Cancelflg = True 'クローズボタン無効
If Cancelflg = False Then
Worksheets("構造計算").CancelflgButton.Caption = "×有効"
Else
Worksheets("構造計算").CancelflgButton.Caption = "×無効"
End If
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'CancelにCancelflgの値を代入して処理を開始する.
'Cancelの値が「False」で開いているブックがこのブックだけなら
'エクセルも終了する.
Dim Wb As Workbook, msg$
Cancel = Cancelflg
If Cancel = False And Workbooks.Count = 1 Then
'このブックだけ開いている場合
'このブックの終了処理を行ってからエクセルを終了する。
End_Work "終了処理を行っています。  "
Application.Quit
Else
'複数のブックを開いている場合の処理
'現在アクティブ表示されているブック名とこのブック名を比較する。
If ActiveWorkbook.Name <> ThisWorkbook.Name Then
'このブックが非アクティブな時にエクセルの終了ボタンが押された場合、
'他のブックの処理だけ行い、このブックの処理は行わない。
Cancel = True
For Each Wb In Workbooks
If Wb.Name <> ThisWorkbook.Name Then
Wb.Close
End If
Next Wb
Vbs_Msg "終了処理のキャンセルを実行しました。  ", 5, _
"終了処理のキャンセル"
Else
'このブックがアクティブ状態の時にブックを閉じるボタンまたは
'エクセルの終了ボタンが押された場合には、このブックだけを
'クローズして他のブックは処理しない。
If Cancel = False Then
End_Work "このブックのみ終了処理を行います。  "
Else
msg = "クローズボタンが無効になっています.  " & vbCrLf & vbCrLf
Vbs_Msg msg, 5, "クローズボタン"
End If
'***************************************************************
'下のマクロで問題が発生しているような気がしたので、End_Work()に
'移動したら異状終了しなくなったような??まさかこれが原因??
'ThisWorkbook.Close SaveChanges:=False
'***************************************************************
End If
End If
End Sub

何となくWorkbook_BeforeClose( )が、2度実行されてるような??変な感じ(^^;

「コンボボックス」について 
2009.05.27.Wed 
「フォームのツールボックス」と「コントロールのツールボックス」にある「コンボボックス」

どちらもワークシートに貼り付ける事が出来るし、リストを選択してからマクロを実行することも出来るけど・・・キー入力の必要がなく、1次元リストを扱うなら「フォームのコンボボックス」の方が使い安いかな?リストを追加登録する時には、挿入するならリストの範囲を変更しなくてもいいけど、行を追加して登録する場合は、リストの範囲を変更しなくちゃいけないので

'ワークシートのA$2$から下の行に連続したデータをリストとする
'フォームのコンボボックスのリスト範囲の変更
Row = 2
Do
If Cells(Row, 1) = "" Then Exit Do
Row = Row + 1
Loop
ActiveSheet.Shapes("Drop Down 15").Select
With Selection
'リストの範囲を"A$2$:A$" & Row に変更する
.ListFillRange = Left(.ListFillRange, 7) & Row
End With


としてから行番号Rowに登録したら、何となく上手くいったみたいな(^^ok??


久しぶりのセピアぁ??!!・・・5/23(15)・5/24(42) 
2009.05.24.Sun 
5/23(15)
仕掛けは忘れてくるし、車にリールを置き忘れるしで、しかも朝から激渋で、もう散々になりそうでしたが、午後からMTさんが23cm釣ったところで何となく粘ってみたらピンポイントで納得サイズを6ツ。出だし散々だったけど結果は上出来でした(^^・・・「白CX+」「錘30号」「T1ステルス?6号5本針」

5/24(42)
午前中はポツリポツリと釣れてきましたが、午後からアタリが遠のきボォ?っとしてると、10mくらい離れて釣ってたMさんが良型3連してるし(@@;!!即!!移動!!Mさんが仕掛けを付け直してる間にお邪魔虫ぃ??(^^;;・・・で、釣れちゃいましたぁ??!!Mさんのタグは付いてなかったよぉ?ん(^^;;
090524_133411_ed.jpg
「白CX+」「錘17号」「がまTキス6号8本針」・・・波口のアタリは強烈でしたぁ??!!(@@;

台形法 
2009.05.20.Wed 
市販の計算ソフトを使うようになってから、自作ソフト使ってないなぁ?・・・
↓こんなのもあった。多角形の面積と図心を計算する台形法のCプログラムコード

void Ag( int n, double x[], double y[], double *Area )
{
int n1=1, n2=2;
double x1, x2, x3, y1, y2, y3;
double A = 0.0, xo = 0.0, yo = 0.0;
while( n2 != 1 ){
n2 = n1 % n + 1;
A += ( x[n2] - x[n1] ) * ( y[n2] + y[n1] ) / 2.0;
x3 = ( pow( x[n2], 3.0 ) - pow( x[n1], 3.0 ) )
* ( y[n2] - y[n1] ) / 3.0;
x2 = ( pow( x[n2], 2.0 ) - pow( x[n1], 2.0 ) )
* ( x[n2] * y[n1] - x[n1] * y[n2] ) / 2.0;
x1 = x[n2] - x[n1];
if( x1 != 0.0 ) xo += ( x3 + x2 ) / x1;
y3 = ( pow( y[n2], 3.0 ) - pow( y[n1], 3.0 ) )
* ( x[n2] - x[n1] ) / 3.0;
y2 = ( pow( y[n2], 2.0 ) - pow( y[n1], 2.0 ) )
* ( y[n2] * x[n1] - y[n1] * x[n2] ) / 2.0;
y1 = y[n2] - y[n1];
if( y1 != 0.0 ) yo += ( y3 + y2 ) / y1;
n1 = n2;
}
//Y座標の計算結果がマイナスになるので、計算結果を返す時にプラスにする.
*Aria = A; //ポインタ*Ariaに面積の計算結果Aを返す
x[0] = xo / A; //配列変数のx[0]に図心(X座標)を返す
y[0] = -yo / A; //配列変数のy[0]に図心(Y座標)を返す
}

面積だけなら・・・

double area( int n, double x[], double y[] )
{
int n1 = 1, n2 = 2;
double A = 0.0;

while( n2 != 1 ){
n2 = n1 % n + 1;
A += ( x[n2] - x[n1] ) * ( y[n2] + y[n1] ) / 2.0;
n1 = n2;
}
return( A ); //面積Aを返す
}


台風画報


ナショジオニュース

降水短時間予報

RSSフィード

月別アーカイブ

ブログ内の検索

プロフィール


  • Designed by Il mio diario
  • Powered by FC2BLOG
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。