Microsoft Access ClubAccess超初心者対象ForumAccess初級者対象ForumAccess初・中級者対象ForumAccess VBA Tips ForumDAO、ADO、SQL Forum

     

No1231.アクセスからエクセルファイルのシート名をチェック

タイトルアクセスからエクセルファイルのシート名をチェック
記事No: 1231
投稿日: 2004/08/02(Mon) 15:23
投稿者: のり
OS:windows2000
Access Version:2000

質問です。アクセスから、ファイルの有無のチェックをしたいのですが、
そのファイルが、エクセルの場合、シート名も指定できるのでしょうか?
DIR関数ではちょっとムリなようなのですが・・・。
どなたか教えてください。

タイトルRe: アクセスからエクセルファイルのシート名をチェック
記事No: 1232
投稿日: 2004/08/02(Mon) 15:34
投稿者: S.S
> DIR関数ではちょっとムリなようなのですが・・・。
無理ですね。
DAOで良ければTableDefsでシート名の取得が可能ですよ。

タイトルRe^2: アクセスからエクセルファイルのシート名をチェック
記事No: 1239
投稿日: 2004/08/02(Mon) 16:52
投稿者: のり
tabledefsですか?具体的にはどうやってソースを書くんでしょうか・・?
教えてください。

タイトルRe^3: アクセスからエクセルファイルのシート名をチェック
記事No: 1240
投稿日: 2004/08/02(Mon) 17:04
投稿者: S.S
> tabledefsですか?具体的にはどうやってソースを書くんでしょうか・・?

こんな感じですかね?
動作確認はしていませんが、多分動きます。

Dim Db As DAO.Database
Dim Tbl As DAO.TableDef
Dim xlsFile As String

xlsFile = "ファイルパス"
Set Db = OpenDatabase(xlsFile, True, True, "Excel 8.0;")
For Each Tbl In Db.TableDefs
  If Right$(Tbl.Name, 1) = "$" Or _
    Right$(Tbl.Name, 2) = "$'" Then
    'シート名の最後は必ず$が付きます
    Debug.Print Tbl.Name
  End If
Next Tbl
Db.Close
Set Db = Nothing

タイトルRe^4: アクセスからエクセルファイルのシート名をチェック
記事No: 1252
投稿日: 2004/08/03(Tue) 16:00
投稿者: のり
できました!ありがとうございます。
こんな簡単なやり方があったんですね。不勉強ですいません。
APT関数でやるかぁ〜と思ってひたすらソースを調べてました。
ほんとありがとうございました。

タイトルRe^4: アクセスからエクセルファイルのシート名をチェック
記事No: 1254
投稿日: 2004/08/04(Wed) 12:59
投稿者: yamato
突然横から失礼します。
まさに渡りに舟の感じで、下記のプログラムを昨日使いました。
ばっちり動いていたのですが、本日は必ず止まります。
どこが悪いのでしょうか?

> 動作確認はしていませんが、多分動きます。
>
> Dim Db As DAO.Database
> Dim Tbl As DAO.TableDef
> Dim xlsFile As String
>
> xlsFile = "ファイルパス"
> Set Db = OpenDatabase(xlsFile, True, True, "Excel 8.0;")
ここで止まります。

Couldn't find Installable ISAM 実行時エラー3170

よろしくお願いします。

タイトルRe^5: アクセスからエクセルファイルのシート名をチェック
記事No: 1255
投稿日: 2004/08/04(Wed) 13:26
投稿者: S.S
下記の項目を確認してみてください。

1.参照設定で参照不可になっていないか?
2.Excel Objectは参照できているか?
3.Jet を更新、もしくはExcel等再インストールしていないか?

これらをお教えください。
多分解決策はありますよ。

タイトルRe^6: アクセスからエクセルファイルのシート名をチェック
記事No: 1256
投稿日: 2004/08/04(Wed) 13:37
投稿者: yamato
> 下記の項目を確認してみてください。
>
> 1.参照設定で参照不可になっていないか?
> 2.Excel Objectは参照できているか?
> 3.Jet を更新、もしくはExcel等再インストールしていないか?
>
> これらをお教えください。
> 多分解決策はありますよ。
思い出したのですがヘルプにあるアプリケーション(アクセス)の自動修復を行いました。
参照設定は、MICROSOFT DAO 3.51Object Library のチェックマークは入っています。

2.3.方法がわかりません。

タイトルRe^7: アクセスからエクセルファイルのシート名をチェック
記事No: 1257
投稿日: 2004/08/04(Wed) 13:40
投稿者: S.S
すみません、以前回答した内容を見ずに書いてしまいました。
2.のチェックはしなくて結構です。
とりあえず、DAO 3.51 のチェックを外して、DAO 3.6 にチェックを付加してください。

タイトルRe^8: アクセスからエクセルファイルのシート名をチェック
記事No: 1258
投稿日: 2004/08/04(Wed) 15:41
投稿者: yamato
> すみません、以前回答した内容を見ずに書いてしまいました。
> 2.のチェックはしなくて結構です。
> とりあえず、DAO 3.51 のチェックを外して、DAO 3.6 にチェックを付加してください。
直りました。シート名を取り出しエクセルからアクセスへ
データがインポートできるようになりました。
ありがとうございました。


このAccessフォーラム過去ログ集は、Microsoft Access Club が運営しています

cPanel あるいは PLESKコントロールパネルをインストールした専用レンタルサーバのディスカウントプランを期間限定で公開しています。
cPanel・PLESKコントロールパネルを備えた専用レンタルサーバ....。

 

ページの先頭へ 前ページへ戻る