投稿日 | : 2003/01/23(Thu) 17:33 |
投稿者 | : まさと |
Eメール | : |
URL | : |
タイトル | : Re^6: 続-エクセルデータをMSFlexGrid上に |
> > ご指摘のところも直しては見たのですが効果はありませんでした。
>
> 私が修正した部分はそれなりに問題がある部分です。
> 1.変数が宣言していない
> 2.変数名の付け方が間違っている 整数型→文字列
> 3.キャンセルボタンを押したらエラーが発生しExcelが残る
> 4.開放の順番が間違っている
> 等々の効果が今回は無くてもコード上問題が発生する可能性があります。
> 又、その辺事を理解せず同じ事をしておられると、果たして指摘した通りの事を
> 本当に確認されているか疑問が残ります。
> こう言ったエラーチェックはひとつひとつ考えられる問題点をつぶしていかなければ
> 堂々めぐりでいつまでたっても解決出来ません。
> 私が投稿したコードは一応動作確認しております。
> 同じコードで貴方の場合だけが問題が発生するという事を念頭において下さい。
> 即ち、環境や、データの違い、貴方が説明していない部分の使用方法等の部分に
> 問題があるのです。
> 従って一番最初に書いたように残る原因は最初に投稿されたコードそのものには
> 問題がありませんと書いたと思うのですが、又今回同じコードを投稿されてますね
>
> 全体のコードがどのようになっているか解らないのですが
> No.2313 の投稿を本当に試してみましたか? ファイルを新規作成で何も入力しない
> ままで保存したファイルを読み込んでみるとか
No.2313は試してみましたがプロセスにEXCEL.EXEが残ったままになりました。
新規作成で何も入力しないままで保存したときは正常にEXCEL.EXEは解放されました。
(シート名を取込むsourceを入れても問題なし)
> その時他の操作は及びプログラム等は起動しないで下さいね
> Excelを起動して終了するだけのプログラムでも残るならExcelを再インストールして
> 見た方がいいですよ
>
> 又、No.2301 のサンプルも試しましたか?
No.2301 のサンプルで教えていただいたサンプルではテキストボックスに入る文字が一部バグってしまいます。
(.が#になります。またシート名の最後に_が付加されてしまいます)
Option Explicit
Dim intFileNo, DatN, i As Integer
Dim intFileName As String
Dim cmd1flag, cmd2flag, cmd3flag, cmd4flag, cmd5flag As Integer
Private Sub Command1_Click()
CommonDialog1.CancelError = True
On Error GoTo ErrorHandler
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
CommonDialog1.Filter = "Excelファイ(*.xls)|*.xls|"
CommonDialog1.ShowOpen
intFileName = CommonDialog1.FileName
Text1.Text = intFileName
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(intFileName)
For i = 1 To xlApp.Worksheets.Count
Combo1.AddItem xlApp.Worksheets(i).Name
Next i
DoEvents
xlBook.Close
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
cmd1flag = 1
ErrorHandler:
End Sub
上記が現状のsourceになります。
現段階でWIN2000 EXCEL2000ではプロセスにEXCEL.EXEが残ってしまいます。
しかしWIN98SE EXCEL2000では残ってないようです。