2017-10-24 4 views
0

私は、時間と日付の両方をyyyy/mm/dd h:mm:ss AM "(またはPM)形式で含む2つの列をexcelに持っています。カレンダーでOutlookの予定を作成する方法に関する時間と日付の両方各forループでは、これは、日付と時刻VBAで時間値を正しく取得できない

startDate = CDate(Left(row.Columns(5), 10)) 
startTime = CDate(Right(row.Columns(5), 11)) 

を抽出する方法である時は、それはになる0:00であるとき問題です0:0:0のExcelシートで、この値がoutlookメソッドに送信されると、「実行時エラー:型の不一致:パラメータ値を強制変換できません」というメッセージが表示されます。 Outlookは、文字列を変換することはできません。」

With myapt 
     .Subject = Subject 
     .body = superString 
     .Start = startDate & " " & startTime 

私はどのように私はこの問題を解決するのですか?正しく日付と時刻の値を処理するだろうか?

+0

'startTime = 0:0:0の場合は、検証できます。値はOutlookが処理できる値に変更します。 –

+0

あなたのExcelセルには、 '' yyyy/mm/dd h:mm:ss "'という形式の日付/時刻が含まれていますか( '.Start = row.Columns(5).Value2' )またはそれは日付のように見える文字列ですか?あなたの 'startDate'と' StartTime'変数はどのようなデータ型ですか? – YowE3K

+0

startDateとstartTimeは、日付変数です。セルは "yyyy/mm // dd h:mm:ss AMまたはPM"の形式になっています – sharsart

答えて

0
ありがとう

Excelのセルは、日付/時刻値が含まれていないと仮定すると、日付と時刻のように見えるだけのテキストが(とケースのように表示されるコメントから)次のコードを使用することができます。

With myapt 
    .Subject = Subject 
    .body = superString 
    .Start = row.Columns(5).Value2 

だけで、別の日付変数と時間変数を作成するにはポイントがありませんそれらを一緒に戻して私の数を得るnは元々セルです。

関連する問題