新着記事 |
---|
投稿時間:2004/08/11(Wed) 08:34 投稿者名:uchi URL : タイトル:Re^2: エクセルシートの1行ずつを別ブックにコピー Renardさま、ありがとうございます。 |
投稿時間:2004/08/10(Tue) 22:54 投稿者名:Renard Eメール: URL : タイトル:Re: エクセルシートの1行ずつを別ブックにコピー 質問がよく分からないのですが、とりあえずソースの赤入れ。 > ----------------------------------------------------------------------------- > Private Sub Command1_Click() > 'xlBook2の内容を1行ずつxlBook1にコピーする練習 > 'テスト環境:Win2000(SP4) VB6(SP6) EXCEL2000 > > Dim xlApp As Excel.Application > Dim xlBook1 As Excel.Workbook, xlBook2 As Excel.Workbook > Dim xlSheet1 As Excel.Worksheet, xlSheet2 As Excel.Worksheet > > Dim RowPos As Long 'xlBook2のxlSheet2シートの最大行を保存 > Dim i As Long 'For-Nextのカウンター > > Set xlApp = CreateObject("Excel.Application") > '新規のブック > Set xlBook1 = xlApp.Workbooks.Add > Set xlSheet1 = xlBook1.Worksheets(1) > '既存のブック(ReadOnlyで開く) > Set xlBook2 = xlApp.Workbooks.Open("C:\データ.xls",,True) Set xlBook2 = xlApp.Workbooks.Open("C:\データ.xls",ReadOnly:=True) とした方が分かりやすい > Set xlSheet2 = xlBook2.Worksheets("sheet1") > > xlApp.Visible = False > xlApp.Application.ScreenUpdating = False 'xlApp.ScreenUpdating = True? xlApp.ScreenUpdating = False '非表示なのに必要なのかな?(未検証) > 'xlBook2のsheet1シートの使用されている最大行を取得(A列のセルは必ずセットされている) > RowPos = xlSheet2.Range("A65536").End(xlUp).Row > > '1行ずつをコピー > For i = 1 To RowPos > xlApp.Application.CutCopyMode = False > xlBook2.Activate > xlSheet2.Activate > xlSheet2.Rows(i & ":" & i).Select > xlApp.Selection.Copy > xlBook1.Activate > xlSheet1.Activate > xlSheet1.Range("A" & i).Select > xlApp.ActiveSheet.Copy > Next i 'コピーする時は、範囲を直接指定します。Activeにする必要なし。 'selectionとかも、普通使わない。 For i = 1 To RowPos xlSheet2.Range("a" & CStr(i) & ":" & "iv" & CStr(i)).Copy _ xlSheet1.Range("a" & CStr(i)) Next i > 'ファイルの保存と終了 > xlApp.Application.DisplayAlerts = False xlApp.DisplayAlerts = False > xlSheet1.SaveAs ("C:\結果.XLS") 'xlBook1.SaveAS("...") ? xlBook1.SaveAs "C:\結果.xls" xlBook1.Close '閉じるのを忘れずに > xlBook2.Close (False) 'Methodの引数には普通括弧をつけない > xlApp.Application.DisplayAlerts = True > > xlApp.Application.ScreenUpdating = True 'xlApp.ScreenUpdating = true ? > xlApp.Application.Quit 'xlApp.Quit ? 'ここら辺もね。xlAppがApplicationなんだから・・・。 > Set xlSheet1 = Nothing > Set xlSheet2 = Nothing > Set xlBook1 = Nothing > Set xlBook2 = Nothing > Set xlApp = Nothing > > End Sub > ----------------------------------------------------------------------------- |
投稿時間:2004/08/10(Tue) 22:49 投稿者名:Ichiro Eメール: URL : タイトル:Re^2: MSFlexGridの行をまとめて削除したい kenさん、ご指摘有難うございます。 何かとんでもない勘違いをしていました。赤面です(-_-;) Command2を以下のようにして解決しました。 どうも有難うございました。 Private Sub Command2_Click() Dim i As Integer i = 10 With MSFlexGrid1 Do While i > 0 .RemoveItem 1 i = i - 1 Loop End With End Sub |
投稿時間:2004/08/10(Tue) 21:50 投稿者名:ken Eメール: URL : タイトル:Re: MSFlexGridの行をまとめて削除したい 削除したんだから当然行数は減りますよね? まず10行追加した段階では 行1 行2 行3 行4 ・ ・ ・ 行10 となります。 ここから1行目を削除すると 行2 行3 行4 ・ ・ ・ 行10 になります。 For文で削除する行番号を加算しているので次は2行目を削除するということになり 行2 行4 ・ ・ ・ 行10 となりますよね。 |
投稿時間:2004/08/10(Tue) 21:00 投稿者名:Ichiro Eメール: URL : タイトル:MSFlexGridの行をまとめて削除したい MSFlexGridのRemoveItemメソッドで複数行をまとめて削除したいのですが、うまくいきません。 環境はWindowsXPとVB6SP6です。 以下の例で、フォーム上にMSFlexGridとCommand1、Command2の2つのボタンを用意します。 Command1ボタンをクリックするとMSFlexGridに10行を追加します。 Command2ボタンをクリックすればその10行を削除できるはずなのですが なぜか2,4,6,8行が削除されず「その行はグリッドには含まれていません」というエラーになります。 デバッグモードで見ると変数i=7で止まっています。 何がいけないのでしょうか。ご指導お願いします。 Private Sub Command1_Click() Dim i As Integer With MSFlexGrid1 .Rows = 1 .Cols = 1 For i = 1 To 10 .AddItem i Next i End With End Sub Private Sub Command2_Click() Dim i As Integer With MSFlexGrid1 For i = 1 To 10 .RemoveItem i Next i End With End Sub |
投稿時間:2004/08/10(Tue) 12:24 投稿者名:kamurin Eメール:kamurin@hotmail.com URL : タイトル:Re^2: MSFlexGridの強制スクロール 有難うございました。 |
投稿時間:2004/08/10(Tue) 12:06 投稿者名:uchi URL : タイトル:エクセルシートの1行ずつを別ブックにコピー お世話になります。 |
投稿時間:2004/08/10(Tue) 10:39 投稿者名:nanashi Eメール: URL : タイトル:Re: MSFlexGridの強制スクロール TopRowプロパティというのがあります。 |
投稿時間:2004/08/10(Tue) 10:13 投稿者名:kamurin Eメール:kamurin@hotmail.com URL : タイトル:MSFlexGridの強制スクロール MSFlexGridをクリックすると一番下までスクロールする処理をしたいのですが、 どうすればいいでしょうか? 宜しくお願いします。 |
投稿時間:2004/08/10(Tue) 09:52 投稿者名:とも Eメール: URL : タイトル:Re^4: 原因わかりました。 > SetWindowLong関数 の使い方に問題があるように思ったので、外して見て下さいと言った |
投稿時間:2004/08/09(Mon) 11:33 投稿者名:花ちゃん Eメール: URL : タイトル:Re: ExcelでのSort操作について ここのExcel&Word関係のエクセル!ワンポイントテクニック集の並び替えのコードと 見比べて下さい。 又、Excel のタスクを正常に終了できない現象(こちらも合せてお読み下さい)も 見ておいて下さい。 |
投稿時間:2004/08/09(Mon) 11:24 投稿者名:Tuyo Eメール: URL : タイトル:ExcelでのSort操作について こんにちは。 VBからのExcel操作で、sort文を使用しますと、EXE起動中はExcelが 終了せず作成したファイルが表示されません。 EXEを終了させるとファイルは表示されるようになります。 sort文をはずすと問題なく動作します。 xlApp.Selection.Sort Key1:=Range("Y" & Sort_1), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin 上記がコードです。 おかしいところありませでしょうか? 分かりましたら教えて下さい。 宜しくお願いいたします。 |
投稿時間:2004/08/09(Mon) 11:20 投稿者名:ももたろう Eメール: URL : タイトル:Re: 試してみましたが 下記方法で解決しました、ありがとうございました。 何故かは結局わかりませんでした。 > sURL1 = "http://www.bcap.co.jp/hanafusa/in.html" > WebBrowser1.Navigate sURL1 '----ここから追加---- '1秒待つ StartTime = timeGetTime Do DoEvents Loop While (timeGetTime - StartTime < 1000) '----ここまで---- > Do While WebBrowser1.Busy > DoEvents > Loop > > Do While WebBrowser1.Document.ReadyState <> "complete" > DoEvents > Loop > Call check(1) > End Sub |
投稿時間:2004/08/09(Mon) 10:37 投稿者名:EXEC Eメール: URL : タイトル:Re^2: シート名の取得について 魔界の仮面弁士様 私が期待する結果が得られました。 ありがとうございました。 |
投稿時間:2004/08/08(Sun) 22:19 投稿者名:花ちゃん Eメール: URL : タイトル:Re^5: EOF が効かない > ExcelのデータをCSVに落としています。 Excelのセルの中に(データ中), や "" が含まれている可能性があるので Excel上で , や "" を検索して使っていないか確認して下さい。 > Debug.printで確認すると、データは一番最後の行まで読み込んでいますが > その後、エラーが発生しています。 列×行 の数が合わないからデータの最後でエラーが発生しているのです。 データのどの辺に(前の方か後ろの方か), "" (又は問題)があるのか調べる ためにExcel上で仮に100行なら50行づつにして半分づつ読み込んでみれば どちらに問題があるか解りますよね。 その前に検索して, "" を使っていないか探して見て下さい。 データの途中に , や "" が含まれていてもそこでエラーが発生する訳ではありません。 , や "" が含まれていた場合 1列が2列としてカウントされるのです。 5列×100行ならデータは500個のはずが501個になるからEOFの位置が合わずエラーが 発生するのです。(最後まで読み込まないと違うか解らないから最後まで読んでいるのです) # 先の投稿で一部データと出力結果が違っておりました。お詫びして訂正します。 Excel に下記のように書いてCSV形式で保存して下さい。 1 1,1 a 2 1,2" b 3 1,3 c 下記のコードを実行すると Private Sub Command1_Click() Dim lngDatN As Long Dim intFileNo As Integer Dim dat(2) As String lngDatN = 0 intFileNo = FreeFile Open "c:\book1.csv" For Input As #intFileNo Do Until EOF(intFileNo) Input #intFileNo, dat(0), dat(1), dat(2) Debug.Print dat(0), dat(1), dat(2) Loop Close #intFileNo End Sub 結果下記のように出力されます。(当然エラーが出ます) 1 1,1 a 2 1,2 b 3 1,3 Excel に下記のように書いてCSV形式で保存して下さい。 1 1 a 2 2 b 3 3 c 実行すると 当然ながら下記のようになります。 1 1 a 2 2 b 3 3 c |
投稿時間:2004/08/08(Sun) 21:10 投稿者名:みなこ URL : タイトル:Re^4: EOF が効かない > 見た目でなく検索等して調べられたのでしょうか? > どちらにしてもデータに問題があるかと思います。 ExcelのデータをCSVに落としています。 Debug.printで確認すると、データは一番最後の行まで読み込んでいますが その後、エラーが発生しています。 最後の行を消してみるということでしょうか? |
投稿時間:2004/08/08(Sun) 00:52 投稿者名:花ちゃん Eメール: URL : タイトル:Re^3: タスクバーに消したはずのアイコンが残る > もしSetWindowLong関数を使用する以外の方法にて、切り替えダイアログにアイコン表示する方法を > ご存知の方があれば、おしえていただけませんか? SetWindowLong関数 の使い方に問題があるように思ったので、外して見て下さいと言った のですが、やはりここに原因があったのなら使い方を色々試してみたらどうでしょうか? まず、GetWindowLong で現在のスタイルを先に取得しておく 次に、SetWindowLong でスタイルを設定 SetWindowPos で再描画 (※ ShowWindow は使用しない) のような方法や私の No.195 のサンプルで使っている方法等。 >あとは、alt+tabにて表示される切り替えダイアログにアイコンが表示されれば、 >実現したい機能を全て満たすのですが、 私のサンプルでは表示していますが、それとも何か意味が違うのでしょうか? 再現できるコードを投稿して貰った方が解決が早いと思うのですが。 |
投稿時間:2004/08/08(Sun) 00:25 投稿者名:とも Eメール: URL : タイトル:Re^2: タスクバーに消したはずのアイコンが残る > 逆引きヘルプの方に2サンプル、アップしてありますのでそちらを |
投稿時間:2004/08/07(Sat) 16:05 投稿者名:花ちゃん Eメール: URL : タイトル:Re: タスクバーに消したはずのアイコンが残る 逆引きヘルプの方に2サンプル、アップしてありますのでそちらを 試して見てください。 (改造せずにそのままで) 又は、貴方のコードで確認しろと言われるなら事象を再現できるコードに して頂かないとなかなか他の人は試す気になれないでしょう。 ましてや10回に1回程度しか発生しないとなれば、投稿されたコードを見た位で 解る人は早々いないかと思います。 たとへば、今使っておられるコードをフォームを表示するだけのコードにしても (不要な部分を削除して)現象はおきるのでしょうか? SetWindowLong 等のAPI関数を使用しない状態で試してみた場合とか。 # コードを投稿される場合、図表モードで投稿して頂くと「タブ」が保持されるので 見易くなります。(下記の修正からも修正できたかと思います) |
投稿時間:2004/08/07(Sat) 14:49 投稿者名:とも Eメール: URL : タイトル:タスクバーに消したはずのアイコンが残る
|
投稿時間:2004/08/06(Fri) 21:03 投稿者名:花ちゃん Eメール: URL : タイトル:Re^3: EOF が効かない > ・データは全て2個セット > ・カンマ ( , ) やダブルコーティション ( "" ) は含まれていません。 見た目でなく検索等して調べられたのでしょうか? どちらにしてもデータに問題があるかと思います。 半分から以降のデータを削除して試して見るとか? 1行づつ増やしながら試してみるとかすればデータのどこに問題があるか つかめると思います。 又、Excelで仮のデータを作って試してみればどちらに問題があるかはっきりするかと 思います。 If strTag(i) = "" Then GoTo LoopExit この部分も気になるのですが一度コメント化 して試してみては。 |
投稿時間:2004/08/06(Fri) 20:30 投稿者名:みなこ URL : タイトル:Re^2: EOF が効かない > 1行に strTag(i) と strDscr(i) の2ケがセットでありますか? > 各項目の中に半角のカンマ ( , ) やダブルコーティション ( "" ) が含まれたり > していませんか? 含まれていると1行の項目数が2ヶ以上と言う事になります。 > > 総項目数が偶数(2の倍数)で無ければ > 「ファイルにこれ以上データがありません。62」のエラーが出ると思います。 はい。 ・データは全て2個セット ・カンマ ( , ) やダブルコーティション ( "" ) は含まれていません。 debug.printで見ていると、最後の行まで読んでいますが それを最後とプログラムでは認識していません。 |
投稿時間:2004/08/06(Fri) 19:52 投稿者名:nobu Eメール: URL : タイトル:Re: EOF が効かない > Input #intFnum, strTag(i), strDscr(i) 入力ファイルの内容を確認して下さい。 1行に strTag(i) と strDscr(i) の2ケがセットでありますか? 各項目の中に半角のカンマ ( , ) やダブルコーティション ( "" ) が含まれたり していませんか? 含まれていると1行の項目数が2ヶ以上と言う事になります。 総項目数が偶数(2の倍数)で無ければ 「ファイルにこれ以上データがありません。62」のエラーが出ると思います。 |
投稿時間:2004/08/06(Fri) 19:38 投稿者名:みなこ URL : タイトル:EOF が効かない 初めて投稿させていただきます。 よろしくお願い致します。 テキストファイルを全部読み込みたいのでこのように↓してみました。 Open gstrDir & "Tags.txt" For Input As #intFnum Do Until EOF(intFnum) Input #intFnum, strTag(i), strDscr(i) If strTag(i) = "" Then GoTo LoopExit i = i + 1 ReDim Preserve strTag(i) ReDim Preserve strDscr(i) Loop しかし、「ファイルにこれ以上データがありません。62」のエラーが出てしまいます。 EOFを検知してくれていないのでしょうか? 使い方がまずいのですか?(今までもこのように書いていましたが、エラーは出ませんでした。) よろしくお願い致します。 |
投稿時間:2004/08/06(Fri) 18:53 投稿者名:花ちゃん Eメール: URL : タイトル:試してみましたが Private Sub Command1_Click() sURL1 = "http://www.bcap.co.jp/hanafusa/in.html" WebBrowser1.Navigate sURL1 Do While WebBrowser1.Busy DoEvents Loop Do While WebBrowser1.Document.ReadyState <> "complete" DoEvents Loop Call check(1) End Sub 試してみましたが、問題なく取得できています。 |
投稿時間:2004/08/06(Fri) 17:54 投稿者名:ももたろう Eメール: URL : タイトル:Re6:WebBrowser1・・・ アドバイス頂いたように試してみましたが、HTMLのコードを取得できていない状態で、 次の処理へ移ってしまってるみたいです。(花ちゃん、魔界の仮面弁士さん両方とも) 何か根本的に書き方がおかしいのでしょうか? ソースの修正箇所の確認です。 ---修正前--- WebBrowser1.Navigate sURL1 'ホームページ表示 Do Until (WebBrowser1.ReadyState = READYSTATE_COMPLETE And Not WebBrowser1.Busy) DoEvents Loop ---修正後--- WebBrowser1.Navigate sURL1 'ホームページ表示 Do While WebBrowser1.Busy Loop Do While WebBrowser1.Document.ReadyState <> "complete" Loop ※Do Loopを修正するだけで、他はさわらないですよね? ちなみに、Do Loopの後はコールで下記を呼び出して、リンク切れか判断しています。 花ちゃん、魔界の仮面弁士さんの場合、リンク切れでなくても、●●●印の処理を通ってきて しまっています。また、処理速度も"修正前"と比較すると一瞬にして終わります。 Call check(i) Private Sub check(i) Text1.Text = WebBrowser1.Document.body.innerHTML 'HTMLソースを文字列として取出す If InStr(Text1.Text, "ファイルが見つかりません") <> 0 _ Or InStr(Text1.Text, "ページを表示できません") <> 0 _ Or InStr(Text1.Text, "ページが見つかりません") <> 0 _ Or InStr(Text1.Text, "Object not found") <> 0 _ Or InStr(Text1.Text, "Not Found") <> 0 _ Or InStr(Text1.Text, "The page cannot be found") <> 0 Then xlSheet.Range("D" & i).Interior.ColorIndex = 3 '赤●●● ElseIf InStr(Text1.Text, "URLが変わりました") <> 0 _ Or InStr(Text1.Text, "URL変更") <> 0 _ Or InStr(Text1.Text, "URLが変更") <> 0 _ Or InStr(Text1.Text, "ページは移動") <> 0 _ Or InStr(Text1.Text, "移動しました") <> 0 _ Or InStr(Text1.Text, "移動いたしました") <> 0 _ Or InStr(Text1.Text, "ホームページ移転") <> 0 _ Or InStr(Text1.Text, "URLに移動") <> 0 Then xlSheet.Range("D" & i).Interior.ColorIndex = 5 '青 End If End Sub ネット検索でも調べてみますが、何かお気づきの点があったら教えて下さい。 |
投稿時間:2004/08/06(Fri) 17:20 投稿者名:花ちゃん Eメール: URL : タイトル:Re^5: WebBrowser1.ReadyState http://www.bcap.co.jp/hanafusa/logbbs/wforum.cgi?mode=allread&no=6255#6264 の下記を試して見てください。 1. 『.Busy = False』まで待機してから、 2. 『Not .Document Is Nothing』まで待機し、最後に 3. 『.Document.readyState = "complete"』まで待機する。 多くの場合下記ですましているようです。それでもだめなら魔界の仮面弁士さんの 方法でどうぞ Do While objIE.busy Loop Do While objIE.Document.readyState <> "complete" Loop 又、上記1.2.3の「」内の語句をキーワードに検索すればいくらでもサンプルが でてきますよ。(定番の処理なので) |
投稿時間:2004/08/06(Fri) 17:13 投稿者名:宮田 Eメール: URL : タイトル:Re^4: トランザクションエラー ありがとうございます。ヘルプより詳しく読んでみたいと思います。 |
投稿時間:2004/08/06(Fri) 17:04 投稿者名:ももたろう Eメール: URL : タイトル:Re^4: WebBrowser1.ReadyState > > 下記ではどうですか? > > http://www.bcap.co.jp/hanafusa/logbbs/wforum.cgi?mode=allread&no=6255#6264 一応できたのですが、上手くいかない時があるので、教えて下さい。 ソースの一部を表記します。 ------------------------------------ WebBrowser1.Navigate sURL1 'ホームページ表示 Do Until (WebBrowser1.ReadyState = READYSTATE_COMPLETE And Not WebBrowser1.Busy) DoEvents Loop ------------------------------------- ほとんどは、WebBrowser1.ReadyState = READYSTATE_COMPLETEで処理が進みますが、同じURLを表示 していても、WebBrowser1.ReadyState = READYSTATE_LOADINGと、ずっとこの値のまま処理が進まない 時があります。 ネットで検索して調べてみましたが、WebBrowser1.ReadyState = READYSTATE_LOADINGの意味もわかり ませんでした。(ヘルプではでてきませんが、それが普通ですか?) 参考URL又は、READYSTATE_LOADINGの意味がわかりましたら、教えて下さい。 よろしくお願いします。 |
投稿時間:2004/08/06(Fri) 16:45 投稿者名:谷口 里美 Eメール:wangwang@jmail.plala.or.jp URL : タイトル:Re^3: txtファイルをxlsファイル形式で保存 > > その逆も同じですが、一旦Excelに読み込んで、ファイル形式を指定して保存するのが > > 一番簡単かと思います。 成功しました。 ありがとうございました |
投稿時間:2004/08/06(Fri) 16:44 投稿者名:谷口 里美 Eメール:wangwang@jmail.plala.or.jp URL : タイトル:Re^2: txtファイルをxlsファイル形式で保存 > その逆も同じですが、一旦Excelに読み込んで、ファイル形式を指定して保存するのが > 一番簡単かと思います。 |
投稿時間:2004/08/06(Fri) 16:38 投稿者名:dai Eメール:dee_bassist@hotmail.com URL :http://homepage2.nifty.com/Dee/ タイトル:Re^3: トランザクションエラー 分散トランザクションは、複数のデータベース間での登録や更新の同期を取るために裏で働いている仕組みです。 BooksOnline(SQLServerのヘルプ)に詳しく出ていますので、まずは精読されることをお薦めいたします。 開始方法ですが、SQLServer2000の場合は、 「コントロールパネル」⇒「管理ツール」⇒「サービス」もしくは SQLServerサービスマネージャで、「サービス」 のところで「Distributed Transaction Coordinator」を選択し、 起動していないようでしたら開始ボタンを押してみてください。 |
投稿時間:2004/08/06(Fri) 16:09 投稿者名:花ちゃん Eメール: URL : タイトル:Re: txtファイルをxlsファイル形式で保存 その逆も同じですが、一旦Excelに読み込んで、ファイル形式を指定して保存するのが 一番簡単かと思います。 |
投稿時間:2004/08/06(Fri) 15:51 投稿者名:谷口 里美 Eメール:wangwang@jmail.plala.or.jp URL : タイトル:txtファイルをxlsファイル形式で保存 はじめまして txtファイル(カンマ区切り)をxlsファイル形式で保存するにはどうすればいいでしょうか? |
投稿時間:2004/08/06(Fri) 14:40 投稿者名:ももたろう Eメール: URL : タイトル:Re^3: ちょっと気になったので・・・ > 下記ではどうですか? |
投稿時間:2004/08/06(Fri) 13:50 投稿者名:宮田 Eメール: URL : タイトル:Re^2: トランザクションエラー 教えて頂いたサイトは、分散トランザクションが開始されているのが前提の話みたいです。今は分散トランザクションがどうやったら開始されるのかすら分からない状態なのです。分散トランザクションの開始の手順を知っている方がおられましたら、教えて下さい。どうぞ宜しくお願いします。 |
投稿時間:2004/08/06(Fri) 13:28 投稿者名:宮田 Eメール: URL : タイトル:Re^2: トランザクションエラー 参考になりそうです。ありがとうございます(o*。_。)oペコッ |
投稿時間:2004/08/06(Fri) 12:57 投稿者名:S.S Eメール: URL : タイトル:Re: トランザクションエラー http://support.microsoft.com/default.aspx?scid=kb;ja;329332&Product=sqlserverJPN http://support.microsoft.com/default.aspx?scid=kb;ja;827805&Product=sqlserverJPN このあたり参考になります? |
投稿時間:2004/08/06(Fri) 11:41 投稿者名:花ちゃん Eメール: URL : タイトル:Re^2: ちょっと気になったので・・・ > 15秒というのは、実行したところ15秒ならページが表示できるのでそうしました。 > もし、今回のプログラム以外でおすすめの方法があったら教えだ下さい! 下記ではどうですか? http://www.bcap.co.jp/hanafusa/logbbs/wforum.cgi?mode=allread&no=6255#6264 |
投稿時間:2004/08/06(Fri) 11:16 投稿者名:おじん Eメール: URL : タイトル:Re^4: AutoRedrawについて いつもありがとうございます。感謝もうしあげております。 > 両方とも .AutoRedraw = True のままにしておけば、 Picture1.Visible = False でも > Picture2 に画像が転送されますが。 「Formをみえなくする」とは、Formを小さくすることで、.Visible=Falseではありませんでした。 > 又、デザイン時にプロパティに画像ファイルを指定しておけばメモリに読み込まれるので 以下の解説が「本質的」に理解できていないのだと思いました。これまで思考錯誤でやっていました から。設計時、あるいはそうでない時で状況が変わること、思いもしませんでした。ましてや、 マシン、メモリ、処理速度などに関係することなど。(テスト中、何かのときに、画像がチカッと 一瞬表示し瞬時消えることがあったのですが、なにか関連あったのでしょうか) AutoRedrawのテストをしようとしてつくったプログラムそのものが「正しく、適切」でなかった ようです。上記括弧の例以外にも「おかしいな」と思う理由不明の現象がありました。 > DoEvents > のように DoEvents を入れると表示されません。 良くわからずに使っています。これも「テストねた」の一つです。 > 基本的に転送したり、印刷したり、描画したものが消えては困る場合は、.AutoRedraw = True プロパディの説明に、「自動的に再描画〜」「継続表示属性を持つ〜」とあります。が、 「〜消えては困る場合は〜」のような説明でないと理解できないようです。なにせ、高校時代の 国語の成績は「2」でしたから。でも、63歳までどうにか生きてこれた、みなさんのおかげで。 |
投稿時間:2004/08/06(Fri) 10:47 投稿者名:宮田 Eメール: URL : タイトル:トランザクションエラー SQLServerでサーバーが異なる時は、リンクを貼りなおし、張りなおした先にテーブルの登録を行っているのですが、サーバーが同じ時は特に問題なく登録処理が行われますが、サーバーが異なる場合は、INSERTの時に、「指定されたトランザクションコーディネータに、新規トランザクションを参加出来ませんでした。」「SQLOLEDBは分散トランザクションを開始できなかったので、要求した操作は実行されませんでした。」というエラーが出るのですが、原因が全くわかりません。わかるかたどうぞ宜しくお願いします。 |
投稿時間:2004/08/06(Fri) 10:22 投稿者名:ももたろう Eメール: URL : タイトル:Re: ちょっと気になったので・・・ 返信遅くなってしまって、ごめんなさい。 |
投稿時間:2004/08/06(Fri) 08:57 投稿者名:まさお URL : タイトル:Re^2: ToolTipText の複数行表示 花ちゃん さん、ありがとうございます。 |
投稿時間:2004/08/06(Fri) 06:32 投稿者名:花ちゃん Eメール: URL : タイトル:Re^3: AutoRedrawについて 両方とも .AutoRedraw = True のままにしておけば、 Picture1.Visible = False でも Picture2 に画像が転送されますが。 又、デザイン時にプロパティに画像ファイルを指定しておけばメモリに読み込まれるので .AutoRedraw =Falseでも表示されます。 .AutoRedraw =False でも画像が表示されているタイミングなら転送可能ですが、最小化や 裏に隠れると消えます。 デザイン時にプロパティに画像ファイルを指定して表示させておくのと Set Picture1.Picture = LoadPicture(Text1.Text) では、まったく違います。 Set Picture1.Picture = LoadPicture(Text1.Text) は描画になり、.AutoRedraw =False だと表示していないと転送できません。又、マシンが高速だと完全に表示される前に 転送され表示できない場合があります。 Picture2.Cls 'False の場合? Set Picture1.Picture = LoadPicture(Text1.Text) DoEvents のように DoEvents を入れると表示されません。 基本的に転送したり、印刷したり、描画したものが消えては困る場合は、.AutoRedraw = True にしておく必要がありますので、前回のような回答をしたまでです。 又、メモリや処理速度に特に問題がなければプログラム上で.AutoRedraw = True や False に切り替える必要がないかと思います。 |
投稿時間:2004/08/06(Fri) 04:26 投稿者名:おじん Eメール: URL : タイトル:Re^2: AutoRedrawについて > > AutoRedrawの動作について調べるために下記のコードを作成したました。 > 何がお知りになりたいのか知りませんが、描画した画像が消えないようにしたいなら > プロパティで AutoRedraw=True に設定しておけばいいだけですが。 やっぱり日本文が通じなかったようです。 2つのPicgtureBoxについて、 1つ目は、ファイルからPicture1へ、2つ目はPictureBox1からPicture2へイメージを 移すとき、それぞれのAutoRedrawのプロパディがTrue、Falseの組み合わせによって、 「描画したり(=画像が見える)、描画されない(=画像が見えない)」ことがある。 言い換えると、AutoRedraw=Trueでも描画されなかったり、反対に、 AutoRedraw=Falseでも描画されたりすることがある(Picture1=Trueは必須のよう)。 ただしPicture1がForm上にある=隠れていない場合は、Falseでも描画される。 テストで「目的にかなう組み合わせが見つかっていますので」結果オーライでやります。 |
投稿時間:2004/08/06(Fri) 00:25 投稿者名:Numawo Eメール:redwolf_Numao@hotmail.com URL : タイトル:Re^2: コンボボックスでの↑↓キー お二方、投稿どうもありがとうございます。 |
投稿時間:2004/08/06(Fri) 00:07 投稿者名:花ちゃん Eメール: URL : タイトル:Re: 参照設定 Excelに限らず、プログラム一般について言える事ですが、使用するすべての環境で動作する 関数等だけでプログラムを組むかバージョン(環境)によって処理を分岐する必要があります。 特に今回のように開発環境がExcel10で使用環境がExcel9.0ならExcel10からの機能を使用して いたら当然、Excel9.0の環境では動作しません。(逆なら動く可能性が高いですが,No.7626参照) 参照設定を外したいなら、定数等は自前で宣言しないといけないし、プログラムミスで Excel内部でエラーが発生してプロセスが終了しないとか色々問題があるかと思います。 コンパイルする時に両方のバージョン用を作成してもそう手間とも思えません。 この掲示板の No.7626 からの一連のスレッドと No.526 からの一連のスレッドに目を通して おいて下さい。 |
投稿時間:2004/08/05(Thu) 23:00 投稿者名:花ちゃん Eメール: URL : タイトル:Re: AutoRedrawについて > AutoRedrawの動作について調べるために下記のコードを作成したました。 何がお知りになりたいのか知りませんが、描画した画像が消えないようにしたいなら プロパティで AutoRedraw=True に設定しておけばいいだけですが。 |
投稿時間:2004/08/05(Thu) 22:52 投稿者名:花ちゃん Eメール: URL : タイトル:Re: ToolTipText の複数行表示 > ToolTipText を複数行表示させることはできますか? VBだけの機能ではできません。 > もし、可能なら、どうやれば改行できるのか教えて戴きたく > お願い申し上げます。 API関数をいくつか使ってゴシゴシかけば可能ですが(サンプルNo.313) |
投稿時間:2004/08/05(Thu) 22:21 投稿者名:旋盤 Eメール: URL : タイトル:Re: 参照設定 レイトバインドしれ |