首先是一个循环(1),循环以后应该是跳入第2个循环(2),但是总是直接跳入ERROR(3),看看有什么问题么,帮助解决一下,急死了!下面是一部分的代码,完整的代码在http://user.qzone.qq.com/279983622/blog/1303208988 太多了发不上来。(1)
Dim oNameList As List
Set oNameList = Application.ActiveSelection.FieldNameListDim i As Integer
s = "60"
s1 = "61"
For i = 1 To oNameList.Count
sName = oNameList.Item(i)
If sName = "Task Name" Then
sName = "Name"
ElseIf sName = "Type" Then
sName = "Fixed"
ElseIf sName = "Leveling Delay" Then
sName = "Delay"
End If
s = s & sp & sName
s1 = s1 & sp & oMPXTaskNames(sName)
Next
(2)
Print #1, s
Print #1, s1
' Print #1, "60,ID,Unique ID,Name,Duration,Outline Level,Unique ID Predecessors,Start,Finish,Early Start,Early Finish,Late Start,Late Finish,Summary,Marked"
' Print #1, "61,90,98,1,40,3,74,50,51,52,53,54,55,120,83"
For Each oTask In oProject.Tasks
If Not oTask Is Nothing Then
s = "70"
For i = 1 To oIDList.Count
Select Case oIDList.Item(i)
'some values may need to be quote wrapped
Case pjTaskName, pjTaskText1, pjTaskText2, pjTaskText3, _
pjTaskText4, pjTaskText5, pjTaskText6, pjTaskText7, pjTaskText8, pjTaskText9, pjTaskText10, _
pjTaskText11, pjTaskText12, pjTaskText13, _
pjTaskText14, pjTaskText15, pjTaskText16, pjTaskText17, pjTaskText18, pjTaskText19, pjTaskText20, _
pjTaskText21, pjTaskText22, pjTaskText23, _
pjTaskText24, pjTaskText25, pjTaskText26, pjTaskText27, pjTaskText28, pjTaskText29, pjTaskText30
s = s & sp & WrapQuotes(oTask.GetField(oIDList.Item(i)))
Case pjTaskUniquePredecessors, pjTaskUniqueSuccessors, pjTaskPredecessors, pjTaskSuccessors
sVal = oTask.GetField(oIDList.Item(i))
s = s & sp & WrapQuotes(sVal)
Case pjTaskType
s = s & sp & YesNo(oTask.GetField(oIDList.Item(i)) = "Fixed Duration")
Case pjTaskDuration, pjTaskFreeSlack, pjTaskTotalSlack, pjTaskDelay, pjTaskWork, pjTaskBaselineWork, pjTaskActualWork 'use first letter only
sVal = oTask.GetField(oIDList.Item(i))
iposn = InStr(sVal, Application.ThousandSeparator)
If iposn > 0 Then
While iposn > 0
sVal = Mid$(sVal, 1, iposn - 1) & Mid$(sVal, iposn + 1)
iposn = InStr(sVal, Application.ThousandSeparator)
Wend
End If
s = s & sp & sVal
Case Else
s = s & sp & oTask.GetField(oIDList.Item(i))
End Select
Next(3)
Error:
If bOpen Then Close #1
'Err.Raise Err.Number, Err.Source, Err.Description, Err.HelpFile, Err.HelpContext
MsgBox Err.Description
End Function
Dim oNameList As List
Set oNameList = Application.ActiveSelection.FieldNameListDim i As Integer
s = "60"
s1 = "61"
For i = 1 To oNameList.Count
sName = oNameList.Item(i)
If sName = "Task Name" Then
sName = "Name"
ElseIf sName = "Type" Then
sName = "Fixed"
ElseIf sName = "Leveling Delay" Then
sName = "Delay"
End If
s = s & sp & sName
s1 = s1 & sp & oMPXTaskNames(sName)
Next
(2)
Print #1, s
Print #1, s1
' Print #1, "60,ID,Unique ID,Name,Duration,Outline Level,Unique ID Predecessors,Start,Finish,Early Start,Early Finish,Late Start,Late Finish,Summary,Marked"
' Print #1, "61,90,98,1,40,3,74,50,51,52,53,54,55,120,83"
For Each oTask In oProject.Tasks
If Not oTask Is Nothing Then
s = "70"
For i = 1 To oIDList.Count
Select Case oIDList.Item(i)
'some values may need to be quote wrapped
Case pjTaskName, pjTaskText1, pjTaskText2, pjTaskText3, _
pjTaskText4, pjTaskText5, pjTaskText6, pjTaskText7, pjTaskText8, pjTaskText9, pjTaskText10, _
pjTaskText11, pjTaskText12, pjTaskText13, _
pjTaskText14, pjTaskText15, pjTaskText16, pjTaskText17, pjTaskText18, pjTaskText19, pjTaskText20, _
pjTaskText21, pjTaskText22, pjTaskText23, _
pjTaskText24, pjTaskText25, pjTaskText26, pjTaskText27, pjTaskText28, pjTaskText29, pjTaskText30
s = s & sp & WrapQuotes(oTask.GetField(oIDList.Item(i)))
Case pjTaskUniquePredecessors, pjTaskUniqueSuccessors, pjTaskPredecessors, pjTaskSuccessors
sVal = oTask.GetField(oIDList.Item(i))
s = s & sp & WrapQuotes(sVal)
Case pjTaskType
s = s & sp & YesNo(oTask.GetField(oIDList.Item(i)) = "Fixed Duration")
Case pjTaskDuration, pjTaskFreeSlack, pjTaskTotalSlack, pjTaskDelay, pjTaskWork, pjTaskBaselineWork, pjTaskActualWork 'use first letter only
sVal = oTask.GetField(oIDList.Item(i))
iposn = InStr(sVal, Application.ThousandSeparator)
If iposn > 0 Then
While iposn > 0
sVal = Mid$(sVal, 1, iposn - 1) & Mid$(sVal, iposn + 1)
iposn = InStr(sVal, Application.ThousandSeparator)
Wend
End If
s = s & sp & sVal
Case Else
s = s & sp & oTask.GetField(oIDList.Item(i))
End Select
Next(3)
Error:
If bOpen Then Close #1
'Err.Raise Err.Number, Err.Source, Err.Description, Err.HelpFile, Err.HelpContext
MsgBox Err.Description
End Function
解决方案 »
- 有没有专讲VB6 类模块 的教材或资料。
- *********VB 如何逐一浏览某文件夹中的图片?********
- 请问谁有象QQ一样的树控件?
- 图片调整的问题
- 請問這該怎么做
- 怎么实现操作员和操作员组,还有怎么对他们的限权管理,救命啊
- 关于ACCESS数据库的问题,请各位帮忙!
- 解决分辨率造成的界面问题
- data type converstion error?是怎么回事啊?急急急啊。高分赠送
- 在做报表时,是使用Data Reports,还是使用Crystal Reports?两者各有哪些优缺点。谢谢!
- 我想把单片机传回来的ASCII码,例如“87”转换成“W”,但老是出现乱码,求高手指点!!
- 求:怎么简单地把汉字(比如"中古")转化为utf8格式(比如"%E4%B8%AD%E5%8F%A4")??
exit sub '要加这个
Error:
Error:
on error goto Error:exit functionError:
If bOpen Then Close #1
'Err.Raise Err.Number, Err.Source, Err.Description, Err.HelpFile, Err.HelpContext
MsgBox Err.Description
你把断点设在那没用的,我的意思是说把函数WriteMPXForProject中的on error goto ... 那你几句注释掉(在语句前加'),然后运行,就可知道是在调用那个子函数时,出现异常.