2017-07-26 37 views
0

我試圖在我的經典asp網頁中創建一個鏈接,以在點擊它時向某些數據添加約會。首先,爲了做一個測試,我在Outlook中創建了它,並將其保存爲兩種格式,即.ics和.vcs,並在我的頁面中鏈接後。在主要瀏覽器的經典asp Web應用程序中生成Outlook約會鏈接

當我運行它們時,我注意到.vcs在Firefox和Chrome上不起作用,而且.ics不能在Firefox上正常工作,所以我可能會選擇最後一個。

我的問題是,是否有任何其他格式或從Firefox打開.ics文件的方式?它不識別它,也不打開Outlook窗口。

非常感謝!

回答

1

發現這個解決方案在上Experts-Exchange,完全歸功於他們:

Sub createICS (sTitle, sDesc, sDate, sStartT, eDate, sEndT, sFName) 
    Response.Buffer = True 
    server.ScriptTimeout = 3000 
    Set objFSO = CreateObject("Scripting.FileSystemObject") 
    Dim iFile : Set iFile = objFSO.CreateTextFile(sFName, TRUE) 
     iFile.WriteLine("BEGIN:VCALENDAR") 
     iFile.WriteLine("PRODID:Microsoft CDO for Microsoft Exchange") 
     iFile.WriteLine("VERSION:2.0") 
     iFile.WriteLine("METHOD:PUBLISH") 
     iFile.WriteLine("BEGIN:VEVENT") 
     iFile.WriteLine("DTSTAMP:"&dateToUTC (DATE(), TIME())) 
     Dim dtStart, dtEnd 
     dtStart = "DTSTART:" & dateToUTC (sDate, sStartT) 
     dtEnd = "DTEND:" & dateToUTC (eDate, sEndT) 
     iFile.WriteLine(dtStart) 
     iFile.WriteLine(dtEnd) 
     iFile.WriteLine("UID:{A6DEF157-DFCE-40F4-AC77-217563191E7B}") 
     iFile.WriteLine("SUMMARY:" & sTitle) 
     iFile.WriteLine("DESCRIPTION:" & sDesc) 
     iFile.WriteLine("SEQUENCE:0") 
     iFile.WriteLine("PRIORITY:3") 
     iFile.WriteLine("CLASS:Personal") 
     iFile.WriteLine("STATUS:CONFIRMED") 
     iFile.WriteLine("TRANSP:OPAQUE") 
     iFile.WriteLine("X-MICROSOFT-CDO-BUSYSTATUS:BUSY") 
     iFile.WriteLine("X-MICROSOFT-CDO-INSTTYPE:0") 
     iFile.WriteLine("BEGIN:VALARM") 
     iFile.WriteLine("TRIGGER:PT10M") 
     iFile.WriteLine("ACTION:DISPLAY") 
     iFile.WriteLine("DESCRIPTION:Reminder") 
     iFile.WriteLine("END:VALARM") 
     iFile.WriteLine("END:VEVENT") 
     iFile.WriteLine("END:VCALENDAR") 
    iFile.close() 
End Sub 
Function dateToUTC (sDate, sTime) 
    Dim iHour, iMin, iYear, iMonth, iDay, tDate, tTime 
    tDate = DateValue(sDate) 
    tTime = TimeValue(sTime) 
    iHour = Hour(DateAdd("h", 4, tTime)) 'correction for US Eastern time 
    iMin = Minute(tTime) 
    iYear = Year(tDate) 
    iMonth = Month(tDate) 
    iDay = Day(tDate) 
    Dim s : s = iYear 
    if iMonth < 10 then s = s & "0" 
     s = s & iMonth 
    if iDay < 10 then s = s & "0" 
     s = s & iDay & "T" 
    if iHour < 10 then s = s & "0" 
     s = s & iHour 
    if iMin < 10 then s = s & "0" 
     s = s & iMin & "00Z" 
    dateToUTC = s 
End Function 



if request.querystring("a") = 1 then 
    strPath = server.mappath("/temp.ics") 
    Call createICS ("The Title", "The Description", formatdatetime(now,2), formatdatetime(now,4), formatdatetime(now+1,2), formatdatetime(now+1,2), strPath) 

    'do your emailing stuff here and when you add the attachment to the code use the strPath variable as in above 
end if 
%> 
<a href="/temp2.asp?a=1">Click Here For It</a> 
相關問題