Access VBA質問箱 IV

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

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


8238 / 9994 ←次へ | 前へ→

【4934】Re:ExcelのデータをAccessのデータ...
回答  小僧  - 05/4/20(水) 16:08 -

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

>小僧 さん
>この記述はAccess2000ですか?
>Access97を使用してるのですがコンパイルで
>Dim xlsApp As New Excel.Applicationでユーザ定義型は定義されていませんにな>ってしまいます。

これは参照設定の問題ですね。
VBAのコードを表示させた状態で、[ツール] → [参照設定]のところで
Microsoft Excel x.x Object Library にチェックして下さい。(Ac97だと8.0)
Microsoft DAO x.x Objedct Library にもお願いします。

>小僧さんの記述をまねして作ってみたのですがうまくいきません。
>何がおかしいのでしょうか?

気がついたところをちょっと修正しました。

Public Function T上期計画テーブル作成()
Dim xlsApp As New Excel.Application
Dim xlsWkb As New Excel.Workbook
Dim WkbName As String
Dim ShtName As String
Dim OTRs As Recordset

   CurrentDb.Execute _
    "CREATE TABLE 上期計画テーブル (店舗コード STRING(3), " _
    & "諸勘定科目番号 STRING(5),目標区分 STRING(2)," _
    & "4月 DOUBLE,5月 DOUBLE,6月 DOUBLE, " _
    & "7月 DOUBLE,8月 DOUBLE,9月 DOUBLE)"
  
   Set OTRs = CurrentDb.OpenRecordset("上期計画テーブル", dbOpenDynaset)
  
   WkbName = "C:\事業計画書.xls"
   ShtName = "預金計画表"
   Set xlsWkb = xlsApp.Workbooks.Open(WkbName)

On Error GoTo Errpoint
     OTRs.AddNew
     OTRs!店舗コード = xlsWkb.Sheets(ShtName).Range("D5").Value
     OTRs.Update
Errpoint:
  xlsWkb.Close: Set xlsWkb = Nothing
  xlsApp.Quit: Set xlsApp = Nothing
  OTRs.Close
  
  If Err.Number <> 0 Then MsgBox "エラーが発生しました"
End Function

Access2002,Access97で動作確認しました。

このコードは前提として
1:上期計画テーブルが存在しない事
2:c:\事業計画書.xls が存在している事。
3:預金計画表シートが存在している事。

が必要になってきます。特に
  Set xlsWkb = xlsApp.Workbooks.Open(WkbName)

  xlsWkb.Close: Set xlsWkb = Nothing
  xlsApp.Quit: Set xlsApp = Nothing

の間でエラーが発生してしまうと、AccessがExcelを掴んだままになって
しまい動作が不安定になってしまいますのでエラーが発生した場合は
Excelを閉じる所まで飛ばすように作りました。
「エラーが発生しました」というメッセージボックスが発生した場合は
上記の間のエラーと考えてください。

465 hits

【4922】ExcelのデータをAccessのデータにしたい nemotake 05/4/18(月) 15:34 質問
【4926】Re:ExcelのデータをAccessのデータ... 小僧 05/4/20(水) 9:39 発言
【4931】Re:ExcelのデータをAccessのデータ... nemotake 05/4/20(水) 13:04 お礼
【4932】Re:ExcelのデータをAccessのデータ... nemotake 05/4/20(水) 14:57 質問
【4934】Re:ExcelのデータをAccessのデータ... 小僧 05/4/20(水) 16:08 回答
【4935】Re:ExcelのデータをAccessのデータ... nemotake 05/4/20(水) 17:49 お礼

8238 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078248
(SS)C-BOARD v3.8 is Free