vs2010宏

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics
Imports MyCmn
Imports System.Linq
Imports System.IO


Public Module Module1
Private ErrMsg As String
Private SucessMsg As String
Sub Test()


End Sub

Sub CopyFileToPath()
SucessMsg
= ""
ErrMsg
= ""

Dim strDesc As String
Dim strFileName As String
Dim strSrc As String
Dim solutionPathArray
= DTE.Solution.FullName.Split("\")
Dim path = ""
Dim process As System.Diagnostics.Process

For i
= 0 To solutionPathArray.Length
If (i
= solutionPathArray.Length - 1) Then
Exit For
End If
path
= path + solutionPathArray(i) + "\"
Next
'String.Join("\", solutionPathArray.GetSub(1, solutionPathArray.Count() - 1))
strSrc = DTE.ActiveDocument.FullName
strDesc
= "D:\NewApp_" + Date.Today.ToShortDateString() + "\" + strSrc.Substring(path.Length)
Try
Dim di
= New System.IO.FileInfo(strDesc)
If System.IO.Directory.Exists(di.DirectoryName)
= False Then
System.IO.Directory.CreateDirectory(di.DirectoryName)
End If

System.IO.File.Copy(DTE.ActiveDocument.FullName, strDesc, True)

SucessMsg
= "Copy成功! [" + strDesc + "]"
Catch ex As System.Exception
ErrMsg
= "Copy失败! 目标:[" + strDesc + "]" + vbLf + vbLf + ex.Message
process
= New System.Diagnostics.Process()
process.StartInfo
= New System.Diagnostics.ProcessStartInfo("explorer.exe")
Dim fi
= New FileInfo(strDesc)
process.StartInfo.Arguments
= fi.DirectoryName
process.Start()

End Try

End Sub
Sub CopyFileToPathWithMsg()
CopyFileToPath()

If (String.IsNullOrEmpty(SucessMsg)
= False) Then
MsgBox(SucessMsg, MsgBoxStyle.OkOnly Or MsgBoxStyle.Information,
"成功.")
End If


If (String.IsNullOrEmpty(ErrMsg)
= False) Then
MsgBox(ErrMsg, MsgBoxStyle.OkOnly Or MsgBoxStyle.Critical,
"出错!!!")
End If
End Sub
End Module

posted @ 2011-08-05 16:33  Shikyoh  阅读(1004)  评论(0编辑  收藏  举报