現在、APIを利用して人にテキストを自動的に送信するプログラムを作成しようとしています。"BC30311:String型の値をString型に変換できません"というエラーが発生しました。
データ(名前と番号)は、Excelのスプレッドシートから収集され、長い文字列の形式で表示され、その後、ビジュアルベーシックの2つの配列に ":"区切り文字を使用して配置されます。
今私は、配列の各項目を反復処理してテキストを送信するために名前と番号を使用しようとしています、ここに私のコードは次のとおりです。
:Dim oxl As excel.application
Dim owb As excel.workbook
Dim osheet As Excel.worksheet
Dim orng As excel.Range
Dim path As String
Dim name As String
Dim number As String
Dim nameArray() As String
Dim numberArray() As String
Dim client As Client = New Client("API CODE")
path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
oxl = CreateObject("Excel.application")
owb = oxl.Workbooks.Open(Filename:=path & "\SMS.xlsm")
name = oxl.Run("getname")
number = oxl.Run("getnomber")
nameArray = Split(name, ":")
numberArray = Split(number, ":")
For i = 0 To UBound(nameArray)
client.SendSms(originator:="TEST", body:="this is a test mr" & nameArray(i) & " hello", numbers:=numberArray(i))
Next
owb.Close()
owb = Nothing
oxl.Quit()
oxl = Nothing
osheet = Nothing
orng = Nothing
しかしこれは私に次のエラーを与えます
Error BC30311 Value of type 'String' cannot be converted to 'String()'.
配列には必要な値が設定されていることがわかっています。他の質問が示唆されているように変数を配列として定義していますが、まだ同じエラーが表示されています。
誰でも私を助けることができますか?
ありがとう:)
どの行でエラーが発生しているかを指摘し、すべての関連コードを含めると便利です。これは単なる推測です。あなたは 'numbers'(複数の音色)という名前の' client.SendSms'へのパラメータを持っていて、 'numberArray'配列の単一の要素を渡しています - おそらくそのパラメータは文字列配列を期待していて、文字列を渡していますか? – Mark