我的组织使用SP 2010表单填写信息。我没有构建这个表单,但我注意到如果你试图从一些字段复制到其他任何地方(记事本等),它会经常在问号或欧元符号前面放置一个问号或欧元符号。字符串(有时在中间。)
Dim objMyList As ListObject
Dim objWksheet As Worksheet
Dim strSPServer As String
Const SERVER As String = "xxx"
Const LISTNAME As String = "{xxx}"
Const VIEWNAME As String = "{xxx}"
strSPServer = "https://" & SERVER & "/_vti_bin"
Set objWksheet = Sheets("Sheet1")
Set objMyList = objWksheet.ListObjects.Add(xlSrcExternal, _
Array(strSPServer, LISTNAME, VIEWNAME), False, , Range("A1"))
脚本的这一部分会提取已经输入到我的工作表中的表单列表,相当于只使用SP网站上的“导出到Excel”按钮。
其余的子通过在FDF文件上使用替换功能将每一行映射到新的PDF。这些幻像符号在Excel表格中找不到。没有空格或任何类型的字符。
For i = 2 To lastRow
oldPDF = "C:\~\Auto.pdf"
oldFDF = "C:\~\Auto_data.fdf"
newPDF = "C:\~\" & i & ".pdf"
iFileNum = FreeFile
Open oldFDF For Input As iFileNum
Do Until EOF(iFileNum)
Line Input #iFileNum, sBuf
sTemp = sTemp & sBuf & vbCrLf
Loop
Close iFileNum
Next i
sTemp = Replace(sTemp, "<</T(myFormField)/V( )>>", "<</T(myFormField)/V(" & sht.Range("B" & i) & ")>>")
我打开PDF,发现幻影字符又回来了。那么到目前为止我们有什么:
SharePoint表单&amp; Excel表格:
The quick brown fox jumps over the lazy dog
复制/粘贴SP表单中的文本以及我的PDF:
?The quick brown fox jumps over the lazy dog
我已经尝试了
sTemp = Replace(sTemp, "~?", "")
sTemp = Replace(sTemp, "?", "")
但是这些符号仍然显示在PDF上......并且在Excel工作表本身上执行替换是没用的,因为符号不在那里。
如果以上操作无效,如何从PDF / FDF中自动删除这些符号?
编辑:
sTemp = Replace(sTemp, Chr(160), "")
解决了欧元符号问题,但问题仍然存在,我已经尝试过Chr / Chrw(63)