FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

↑やる気アップにご協力をお願いします。わぁいヽ(∇⌒ヽ)(ノ⌒∇)ノわぁい♪

こんな記事もありますよ


エクセルのシート名を取得する?

最近エクセルとの連携に躍起になっています。

・・・で・・・自分のシステムの中で指定したエクセルファイルの
シート名を取得する必要が出てきた・・・

・・・ということで、今回の無駄コードは

シート名、取得できればそれでいい!

コードです。

…今回は年末ということもありますので、
五七五でネーミングしてみました… (-ーゞフッ

え? 年末は関係ない? むしろ、どうでもいい?

・・・で・・・ですよね・・・ prz ズ~ン



・・・さ・・・ネーミングは\(^_\)(/_^)/コッチニオイトイテ
気を取り直していきましょ。

まずは全シート名をメッセージボックスで出力してみたいと
思います。
Dim xlsApp As Object 'アプリケーション用オブジェクト変数
Dim xlsWkb As Object 'ワークブック用オブジェクト変数

Dim i As Integer 'ループ用変数

Dim strNames As String 'シート名格納用 変数

'指定したエクセルファイルを開く処理
Set xlsApp = CreateObject("Excel.Application")
Set xlsWkb = xlsApp.Workbooks.Open("ファイルまでのフルパス")

strNames = xlsWkb.Name & "シート名 :" 'ファイル名の取得

'シート名の取得
For i = 1 To xlsWkb.Sheets.Count
strNames = strNames & vbNewLine & xlsWkb.Sheets(i).Name
Next i

'ファイル名の出力
MsgBox strNames

'エクセルのクローズ処理
xlsWkb.Close SaveChanges:=False: Set xlsWkb = Nothing
xlsApp.Quit: Set xlsApp = Nothing
こんな感じでしょうか。

9行目でエクセルを起動させて、10行目で指定したファイルを
開いてるって感じでしょうか?

15~17行のFor文で、シートの数だけループ処理を行い
シート名を取得してくれてます。

ちなみに23行目ではワークブックを閉じていますが、
SaveChanges:=false
を指定することで、保存はせずにファイルを閉じてくれます。

そして24行目でエクセルを終了・・・という流れです。

このエクセルの終了を忘れると、タスクバーには表示されませんが、
エクセルが立ち上がったままの状態になってしまうので注意が必要です。

もしそうなった場合は、タスクマネージャーの「プロセス」タブから
終了させちゃってあげちゃってください。

では次に、取得したシート名をテーブルに保存する場合ですが、
テーブル名を「tbl_A」として下記のフィールド設定だと仮定しませう。
フィールド名データ型
シートNoオートナンバー
シート名文字列
・・・で、このテーブルに保存していくわけですが、

これは、
Dim rs as DAO.RecordSet 'レコードセット用変数

Dim xlsApp As Object 'アプリケーション用オブジェクト変数
Dim xlsWkb As Object 'ワークブック用オブジェクト変数

Dim i As Integer 'ループ用変数

'指定したエクセルファイルを開く処理
Set xlsApp = CreateObject("Excel.Application")
Set xlsWkb = xlsApp.Workbooks.Open("ファイルまでのフルパス")

'レコードセットのオープン
Set rs = Currentdb.OpenRecordset("tbl_A")

'シート名の保存
For i = 1 To xlsWkb.Sheets.Count
rs.AddNew
rs!シート名 = xlsWkb.Sheets(i).Name
rs.Update
Next i

'クローズ処理
rs.Close: Set rs = Nothing
xlsWkb.Close SaveChanges:=False: Set xlsWkb = Nothing
xlsApp.Quit: Set xlsApp = Nothing
で動作してくれると思います。

ま~エクセルのシート名のみを取得して何する気だ・・・って話かも
しれませんが、それは内緒です。ヾ(@^▽^@)ノわはは

ちなみに、このコードですが参照設定は特に必要ありません・・・
・・・たぶん・・・自分は大丈夫でした。

ExcelVBAなどを使ってるわけではないので、きっといらないんでしょう・・・
知らないけど・・・(-。-) ボソッ

以上 今回の無駄コードでした~

(^0^)/~~see you !
↑やる気アップにご協力をお願いします。わぁいヽ(∇⌒ヽ)(ノ⌒∇)ノわぁい♪

こんな記事もありますよ


コメントの投稿

非公開コメント

Author's Profile ~自己紹介~

Genzo

Author:Genzo
PCは一応自作できるレベル。
ワード・エクセルなら基本的に
扱えるレベル。
プログラム・・・?ん?
VBA・・・?ん?ん??
それって美味しいですか?


~ 当ブログについて ~

~ Mail2Genzo  ~

Calender&Search かれんだーと検索

07 | 2018/08 | 09
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -

Access2Genzo内で検索

Category ~かてごりー~

Comments Tree ~こめんとつりー~


Link ~りんく~

ブロとも申請フォーム

Counter ~かうんた~

Since 2010/08/01:

Online:

タグクラウド

最新トラックバック

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。