[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/04/07(Thu) 22:34
投稿者名:SS
URL :
タイトル:
VBからEXCELのセルへ文字列が削除されて代入されてしまう
はじめまして。

Windows2000、VB6(SP5)、Excel2000の環境にてアプリケーションを作成しています。

アプリケーションはDBから取得したデータから文字列を作成し、
Excelのセルに貼り付けるというものです。
しかし、貼り付ける際にデータの399バイト以降が切られてしまい、
困っています。


貼り付けられる文字列は、以下のように定義しているので、
VB6の仕様だと、十分扱えるデータ長です。

 Dim data As String

デバッグを実施したところ、以下のようにセルに代入する直前まで
データ長は正しいことが確認できました。

ExcelOgj.Cell("A1").Value = data 

また、Excel側の問題かとおもい、
貼り付けが終わったExcelファイルにて、データが切れてしまったセルに
文字を追記してみたところ、正常に追記されました。

可能性としては、MSのExcelのAPIの仕様、とかが考えられるかとは思いますが、
このような現象をご存知の方、ご教授くださいませんか。

よろしくお願いします。

投稿時間:2005/04/07(Thu) 23:13
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: VBからEXCELのセルへ文字列が削除されて代入されてしまう
どのようなコードで入力されているか知りませんが、下記で確認したところ問題なく入力
できていましたよ。
多分DB側の問題かと思います。
逆の場合も読み込めなかったのでダミーデータを作って読み込ませる工夫した覚えがあります。

xlSheet.Cells(1, 1).Value = String$(1000, "あ")

投稿時間:2005/04/07(Thu) 23:17
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: VBからEXCELのセルへ文字列が削除されて代入されてしまう
> アプリケーションはDBから取得したデータから文字列を作成し、

その取得したデータに、何か問題は無いのでしょうか?
たとえば、
   .Range("A1").Value = "あいう" & vbNullChar & "えお"
のような文字列だと、「あいう」だけになってしまいますよね。


>  ExcelOgj.Cell("A1").Value = data 

このコードは、本当に正しいのでしょうか?

ExcelOgj が何のオブジェクトだかわかりませんが、Excel 2000 には、
Cellというプロパティやメソッドは無く、もしそれが Cellsプロパティの
事だとしても、"A1" のような引数指定はできないと思うのですが……。

投稿時間:2005/04/08(Fri) 11:54
投稿者名:SS
URL :
タイトル:
Re: VBからEXCELのセルへ文字列が削除されて代入されてしまう
花ちゃんさま、魔界の仮面弁士さま

返答ありがとうございます。
実は、新規で作成したアプリケーションではなく、
他の人が作成したものに対し手を加えていたのでいまいち理解しないまま、
質問をしてしまいました。

さらに調べてみたところ、VB-Reportを使用していることがわかりましたので、
こちらから調べてみたいと思います。

返答いただいた内容についても参考にさせていただきます。

大変失礼しました。