Access VBA質問箱 IV

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

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


2557 / 9994 ←次へ | 前へ→

【10709】Re:エクセルに値渡ししたい
質問  ON  - 08/11/10(月) 11:14 -

引用なし
パスワード
   遅くなりました

▼neptune さん 検証して頂きありがとうございます

>で、確認しましたが、問題なく動作しました。
>VB6でも上記で検証しましたが、やはり、問題は発生しませんでした。
>なので、何故、エラーが出るかは?です。

>念の為、Bookの破損を切り分ける為、
>新しいBookを作成して、検証をやり直してみてはどうですか?
>この辺りしか思い付きません。

再起動後、同一ブックでエラーは発生しなくなりました
これで、他のアプリケーションに、引数渡しすることが出来るようになりました
ありがとうございました。


今まで、同一アプリケーション内では通常
function関数で処理させ戻り値を利用することばかりでした
ということで、これらは
特に意識することなく参照渡し ByRefで使用していました
今回の件名で、値渡ししたいということで、この辺がわからないまま
ためしていたので??の状態だったようです


>ググッたり、試したりしているうちに、大変遅くなってしまいました
について理解のないままではまずいと振り返ってみました

通常は
  Function new_str(n_str1 As String, n_str2 As String) As String
    
    new_str = n_str1 & str2
    
  End Function

  Sub get_str()
  
    Dim str1 As String
    Dim str2 As String
    
    str1 = "hoge"
    str2 = " fuga"
    
    Debug.Print new_str(str1, str2)
    
  End Sub
のような利用の仕方しています

今回の
>なぜだか、うまく動かせずに
は、下記のような場合で、下記、変に加工するとすぐエラーになってしまい
うまく修正することは出来ないのですが

ByValの時は123のようになるよな気がするのですが hoge fuga になってしまいます

基本がわかっていないので、コード自体が変かもしれませんが
アドバイス頂けるとうれしいですよろしくお願い致します

  Sub Test()
  
    Dim str1 As String
    Dim str2 As String
    Dim out As String
    
    str1 = "hoge"
    str2 = " fuga"
    out = "123"
        
    'Call ByVal_str(str1, str2, out)
    Debug.Print "Test1:" & ByVal_str(str1, str2, out)
    
    'Call ByRef_str(str1, str2, out)
    Debug.Print "Test2:" & ByRef_str(str1, str2, out)


  End Sub

  Function ByVal_str(ByVal idx1 As String, ByVal idx2 As String, ByVal modori As String) As String
    
    ByVal_str = idx1 & idx2
    Debug.Print "ByVal_str:" & ByVal_str
    
  End Function
  
  
  Function ByRef_str(ByVal idx1 As String, ByVal idx2 As String, ByRef modori As String) As String
    
    ByRef_str = idx1 & idx2
    Debug.Print "ByRef_str:" & ByRef_str
    
  End Function


ByVal_str:hoge fuga
Test1:hoge fuga
ByRef_str:hoge fuga
Test2:hoge fuga

  

444 hits

【10633】エクセルに値渡ししたい ON 08/10/29(水) 13:55 質問[未読]
【10635】Re:エクセルに値渡ししたい neptune 08/10/29(水) 22:32 回答[未読]
【10676】Re:エクセルに値渡ししたい ON 08/11/6(木) 15:55 質問[未読]
【10678】Re:エクセルに値渡ししたい neptune 08/11/6(木) 17:22 発言[未読]
【10709】Re:エクセルに値渡ししたい ON 08/11/10(月) 11:14 質問[未読]
【10710】Re:エクセルに値渡ししたい neptune 08/11/10(月) 13:36 回答[未読]
【10715】Re:エクセルに値渡ししたい ON 08/11/10(月) 16:11 質問[未読]
【10716】Re:エクセルに値渡ししたい ON 08/11/10(月) 17:12 発言[未読]
【10717】Re:エクセルに値渡ししたい neptune 08/11/10(月) 18:50 回答[未読]
【10722】Re:エクセルに値渡ししたい ON 08/11/11(火) 9:17 お礼[未読]
【10733】Re:エクセルに値渡ししたい ON 08/11/13(木) 15:15 お礼[未読]
【10720】Re:エクセルに値渡ししたい neptune 08/11/10(月) 21:52 発言[未読]
【10711】Re:エクセルに値渡ししたい neptune 08/11/10(月) 13:38 発言[未読]

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