Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1642 / 2272 ツリー ←次へ | 前へ→

【6133】特定のExcelシートのセルに値をセットしたい kiyo 05/9/2(金) 11:01 質問[未読]
【6134】Re:特定のExcelシートのセルに値をセットし... Gin_II 05/9/2(金) 11:17 回答[未読]
【6135】Re:特定のExcelシートのセルに値をセットし... kiyo 05/9/2(金) 11:42 回答[未読]
【6139】Re:特定のExcelシートのセルに値をセット... 小僧 05/9/2(金) 13:29 発言[未読]
【6143】Re:特定のExcelシートのセルに値をセット... kiyo 05/9/2(金) 14:27 お礼[未読]

【6133】特定のExcelシートのセルに値をセットした...
質問  kiyo  - 05/9/2(金) 11:01 -

引用なし
パスワード
   お世話になります。
A.mdbの中にあるBテーブルが存在します。
Bテーブルのデータを1レコードずつ異なるExcelシートの
特定のセルにセットしたいのですが、
なかなかいい方法が見つかりません。

Bテーブルのレコードを取得し、
ループさせながら、その中でExcelをキックして
値をセットし、閉じるという作業を
繰り返す方法を考えたのですがうまくうごきません。

なにか良い方法をご存知の方がいれば
教えてください。
よろしくお願いいたします。

【6134】Re:特定のExcelシートのセルに値をセット...
回答  Gin_II  - 05/9/2(金) 11:17 -

引用なし
パスワード
   >Bテーブルのレコードを取得し、
>ループさせながら、その中でExcelをキックして
>値をセットし、閉じるという作業を
>繰り返す方法を考えたのですがうまくうごきません。

この方法になると思いますけど。
どのようなコードを記述して、どううまくいかないのでしょうか?

【6135】Re:特定のExcelシートのセルに値をセット...
回答  kiyo  - 05/9/2(金) 11:42 -

引用なし
パスワード
    Gin_II さんありがとうございます。

>この方法になると思いますけど。
>どのようなコードを記述して、どううまくいかないのでしょうか?

Aテーブルにはセットしたい数字(B)、セットするExcelシート名(C)が
登録されています。

'データ獲得
strS = ""
strS = strS & vbNewLine & " SELECT B,C"
strS = strS & vbNewLine & " FROM " & Aテーブル
Set rs1 = CurrentDb.OpenRecordset(strS, dbOpenDynaset) 'SQL実行
If rs1.RecordCount < 0 Then
   GoTo Err_
Else
   Do Until rs1.EOF
   i = i + 1
     'ココでオブジェクトの存在チェック
       Set MyWSH = CreateObject("WScript.Shell")
       MyDesktopPath = MyWSH.SpecialFolders("Desktop")
       If Dir(存在パス& rs1("C").Value, vbDirectory) = "" Then
        strNoName = strNoName & rs1("C").Value & vbCr
        GoTo nextset
       End If
        Set appExcel = New Excel.Application
        Set appWbook = appExcel.Workbooks.Open("C")
       
        ここでシート名、セル名を指定する方法がわかりません

       Set MyWSH = Nothing
     rs1.MoveNext
   Loop


Excel側には起動時に走るマクロが登録されています。
そのマクロを走らせない方法もあれば一緒に教えていただけないでしょうか

どうぞよろしくお願いいたします。



【6139】Re:特定のExcelシートのセルに値をセット...
発言  小僧  - 05/9/2(金) 13:29 -

引用なし
パスワード
   ▼kiyo さん、Gin_II さん:
こんにちは。

>Aテーブルにはセットしたい数字(B)、セットするExcelシート名(C)が
>登録されています。

>        Set appWbook = appExcel.Workbooks.Open("C")
>       
>        ここでシート名、セル名を指定する方法がわかりません

基本的な事になってしまうのですが、Excel のオブジェクトを操作する場合

Application - Book - Sheet - Cell

になりますが、kiyo さんのご提示されたコードからは

Application     Sheet

しか読み取れません。
Book の情報や どのセルに配置したい、という情報はどこに隠されているのでしょうか?

(他にも 存在パス や デスクトップのフォルダ名を取得されている意図も解りませんが…)


>Excel側には起動時に走るマクロが登録されています。
>そのマクロを走らせない方法もあれば一緒に教えていただけないでしょうか

こちらは ExcelVBA の話になりますね。

EnableEvents プロパティで処理する事になります。

【6143】Re:特定のExcelシートのセルに値をセット...
お礼  kiyo  - 05/9/2(金) 14:27 -

引用なし
パスワード
   ▼小僧 さん:
ありがとうございます。

基本的な部分でミスしているようですので
もう少しトライしてみます。

ありがとうございました。

1642 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078245
(SS)C-BOARD v3.8 is Free