Access VBA質問箱 IV

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

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


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

【10252】既存エクセルへの出力 TARO 08/2/21(木) 19:03 質問[未読]
【10258】Re:既存エクセルへの出力 小僧 08/2/27(水) 9:34 質問[未読]
【10273】Re:既存エクセルへの出力 TARO 08/3/1(土) 10:17 質問[未読]
【10274】Re:既存エクセルへの出力 小僧 08/3/1(土) 13:21 回答[未読]
【10278】Re:既存エクセルへの出力 TARO 08/3/3(月) 10:48 発言[未読]
【10279】Re:既存エクセルへの出力 VBWASURETA 08/3/3(月) 12:08 発言[未読]
【10282】Re:既存エクセルへの出力 TARO 08/3/3(月) 19:42 発言[未読]
【10285】Re:既存エクセルへの出力 TARO 08/3/4(火) 9:30 お礼[未読]

【10252】既存エクセルへの出力
質問  TARO  - 08/2/21(木) 19:03 -

引用なし
パスワード
   エクセルでフォームを作成し、
そのファイルに出力したいのですが、
どのようにすれば宜しいのでしょうか。

Dim xlApp As New Excel.Application
xlApp.Workbooks.Open "C:\temp\Book1.xls"

xlApp.Worksheets("sheet1").Activate

With xlApp
 .Worksheets.Add
 .Range("H2").Value = Me.Txt_記入日
 .Range("B2").Value = Cmb_報告者コード
End With
Set xlApp = Nothing

よろしくお願い致します。

Acccess2002です。

【10258】Re:既存エクセルへの出力
質問  小僧  - 08/2/27(水) 9:34 -

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

>Dim xlApp As New Excel.Application
>xlApp.Workbooks.Open "C:\temp\Book1.xls"
>
>xlApp.Worksheets("sheet1").Activate
>
>With xlApp
> .Worksheets.Add
> .Range("H2").Value = Me.Txt_記入日
> .Range("B2").Value = Cmb_報告者コード
>End With
>Set xlApp = Nothing

現状が良く解らないのですが
上記のコードで何か問題があるという事でしょうか。

もうちょっと具体的に「何が」「どう」解らなくてご質問されているのかを
明確にすると、回答がつきやすくなるかもしれませんね。

【10273】Re:既存エクセルへの出力
質問  TARO  - 08/3/1(土) 10:17 -

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

既に完成されたデザインのシートの項目に
データを出力したかったのです。

現状のコードですと、
新たにシートを追加していたため、
デザインされたシートに出力していませんでした。
(.Worksheets.Addが原因ですね)

現在は、.Worksheets.Addをコメントアウトしたので、
完成されたデザインに出力することが出来ました。
ですが、新たな問題が発生しました。

出力する文字数(改行含む)が多いと、
エクセルでは、#####と表示されてしまいます。
エクセルのセル設定は、改行で全体表示です。

データの内容をそのまま出力することは出来ないでしょうか。
よろしくお願い致します。

【10274】Re:既存エクセルへの出力
回答  小僧  - 08/3/1(土) 13:21 -

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

>エクセルのセル設定は、改行で全体表示です。

「折り返して全体を表示する」で宜しいでしょうか。


>出力する文字数(改行含む)が多いと、
>エクセルでは、#####と表示されてしまいます。


##### となるのは数値型のものですよね。
文字列ですと大丈夫な模様です。


Sub 折り返してセルを表示のテスト()
Dim xlsApp As Object
Dim xlsWkb As Object
Dim xlsPath As String

  xlsPath = CurrentProject.Path & "\折り返しテスト.xls"
  On Error Resume Next
    Kill xlsPath
  On Error GoTo 0
  
  Set xlsApp = CreateObject("Excel.Application")
  Set xlsWkb = xlsApp.Workbooks.Add
    With xlsWkb.Sheets("Sheet1")
      
      .Columns("A:A").ColumnWidth = 4
      .Range("A1:A3").WrapText = True
      .Range("A1").Value = "AAAAAAAAAAAAAAAAAAAA"
      .Range("A2").Value = "99999999"
      .Range("A3").Value = "'99999999"
    End With
  xlsWkb.SaveAs xlsPath
  xlsWkb.Close: Set xlsWkb = Nothing
  xlsApp.Quit: Set xlsApp = Nothing
  
End Sub


上記コードを実行すると、Accessと同じフォルダに
「折り返しテスト.xls」ができ、確認できると思われます。

>デザインされたシート

という事ですが、改行される事によってデザインが崩れる事は
大丈夫なのでしょうか。

【10278】Re:既存エクセルへの出力
発言  TARO  - 08/3/3(月) 10:48 -

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

>「折り返して全体を表示する」で宜しいでしょうか。
その通りです。

>##### となるのは数値型のものですよね。
>文字列ですと大丈夫な模様です。
いいえ、文字型です。
データベースの中身の以下のような感じです。(データ型:テキスト型)
報告内容

08/02/01 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
08/02/05 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
08/02/06 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

このデータを
.Range("A8").Value = Txt_報告内容

とすると、#####と表示されます。
データがもう少し短いと綺麗に表示されます。

>>デザインされたシート
>という事ですが、改行される事によってデザインが崩れる事は
>大丈夫なのでしょうか。
1セルにデータを入れるので、問題ないかと思っております。
印刷で表示しきれない部分、ユーザーに枠を広げてもらう考えです。

よろしくお願い致します。

【10279】Re:既存エクセルへの出力
発言  VBWASURETA  - 08/3/3(月) 12:08 -

引用なし
パスワード
   ▼TARO さん:

こんにちは。
ちょっと自分のところも確認しましたが、小僧さんと同じく文字列だと
普通に表示されてます。「Excel2000」

A〜Fって16進で言う10〜15の数値で日付も数値ですが、
そいうの関係あるかも知れません。

セルに入れる前に「'」で入れても変わらないですか?

【10282】Re:既存エクセルへの出力
発言  TARO  - 08/3/3(月) 19:42 -

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

>A〜Fって16進で言う10〜15の数値で日付も数値ですが、
>そいうの関係あるかも知れません。
すみません、よく解りません。
データが短い、例えば、

報告内容

08/02/01 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

なら、1セルに綺麗に表示されるんですけどね〜。

>セルに入れる前に「'」で入れても変わらないですか?
「'」を入れてもダメでした。

何が問題なんだろう。。。

【10285】Re:既存エクセルへの出力
お礼  TARO  - 08/3/4(火) 9:30 -

引用なし
パスワード
   TAROさん、VBWASURETAさん、ありがとうございます。
解決致しました。

エクセルのセル設定を文字型から標準にしましたら、
問題なく表示されました。

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

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