我在Windows 7上运行Visual Studio Express 2012.几个月以来我一直在运行它没有任何问题.
上周五,当我关闭我的电脑时,安装了很多Windows更新.今天早上,当我启动并打开VS2012解决方案时,我收到以下错误消息:
This program has known compatibility issues
Run Code Online (Sandbox Code Playgroud)
...
Visual Studio 2012 Express for Windows Desktop is incompatible with this version of Windows.
Run Code Online (Sandbox Code Playgroud)
有一个按钮Run Program,当我点击它时,解决方案正常打开.我没有改变我的Windows配置.每次打开解决方案时都会发生这种情况.MS是否在上周五应用的一批更新中发布了一个有缺陷的补丁?
编辑:我不确定为什么人们投票结束这个问题.与之相关的答案与我的问题无关; 这个答案似乎与尝试在VS2010中打开VS2012项目有关.我正在尝试在VS2012中打开VS2012项目.如果你真的认为这个问题需要关闭,请在评论中告诉我为什么我可以适当地改变它.
周五安装的.NET更新包括:
更新:我放弃了或多或少,并在错误窗口中单击"不再显示此窗口"复选框.Visual Studio似乎运行正常.
我正在尝试编写一个打开许多Excel文件的脚本.我一直得到提示:
This workbook contains links to other data sources.
Run Code Online (Sandbox Code Playgroud)
我希望不要出现此消息,以便我的脚本可以自动浏览所有工作簿,而无需Don't Update为每个工作簿单击.目前我正在使用以下内容:
function getWorkbook(bkPath as string) as workbook
Application.EnableEvents=False
Application.DisplayAlerts=False
getWorkbook=Workbooks.Open(bkPath,updatelinks:=0,readonly:=false)
end function
Run Code Online (Sandbox Code Playgroud)
但是,该消息仍然出现.我怎么能抑制它?
编辑:似乎这个消息出现在链接断开的工作簿中; 我没有看到这条This workbook contains one or more links that cannot be updated消息因为我设置DisplayAlerts为假.工作簿链接到Windows服务器上的文件夹中的等效文件,因此当从该文件夹中删除匹配文件(这是我们业务流程的一部分)时,链接会中断.链接断开时是否可以禁止警告?
另外,我正在使用Excel 2010.
我正在尝试从Facebook JS SDK的文档中运行第一个示例.我创建了一个新的应用程序,创建了一个名为"facebookTest.html"的空白文档,粘贴在示例的代码中,并插入新应用程序的App ID.代码如下:
<html>
<head>
<title>Login with facebook</title>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
// init the FB JS SDK
FB.init({
appId : 'my app ID', // App ID from the App Dashboard
status : true, // check the login status upon init?
cookie : true, // set sessions cookies to allow your server to access the session?
xfbml : true // parse XFBML tags on this page?
});
// Additional initialization code such as adding Event Listeners …Run Code Online (Sandbox Code Playgroud) 我正在尝试将DocumentProperty添加到CustomDocumentProperties集合中.代码如下:
Sub testcustdocprop()
Dim docprops As DocumentProperties
Dim docprop As DocumentProperty
Set docprops = ThisWorkbook.CustomDocumentProperties
Set docprop = docprops.Add(Name:="test", LinkToContent:=False, Value:="xyz")
End Sub
Run Code Online (Sandbox Code Playgroud)
运行这个给我以下错误:
Run-time error '5':
Invalid procedure call or argument
Run Code Online (Sandbox Code Playgroud)
我尝试将其.Add作为void函数运行,如下所示:
docprops.Add Name:="test", LinkToContent:=False, Value:="xyz"
Run Code Online (Sandbox Code Playgroud)
这给了我同样的错误.如何添加自定义文档属性?
我在Office 2010中使用VBA.在顶部,有一个包含行号和列号的框,例如:
Ln 1480, Col 17
Run Code Online (Sandbox Code Playgroud)
有没有办法在代码编辑中直接跳转到另一个行号(而不是执行中),就像我Ctrl+G在记事本中使用的那样? 这个MSDN答案表明它不可能,但我希望有人找到了一种方法来进行这种编辑器导航.
我知道可以在下拉列表中单击一个过程名称,但不幸的是我正在使用一些长达几百行的过程,直到我对它们进行重构,能够包含一个行号会很棒在我的bug跟踪器中,当我解决问题时跳转到该行.
我知道在SO的几个问题中已经讨论过这个问题,但这些解决方案都没有对我有用.
我从a开始,char*因为这是一个将从VBA调用的DLL,并且char*是VBA将字符串传递给DLL所必需的.
我需要返回一个LPCWSTR因为这是我试图调用的API函数的输入参数,并且我无法通过在"属性"窗口中从Unicode切换到多字节字符集来启用强制转换,因为API具有以下代码:
#if !defined(UNICODE) && !defined(NOUNICODE)
#error UNICODE is not defined. UNICODE must be defined for correct API arguments.
#endif
Run Code Online (Sandbox Code Playgroud)
我试过这个:
LPCWSTR convertCharArrayToLPCWSTR(char* charArray)
{
const char* cs=charArray;
wchar_t filename[4096] = {0};
MultiByteToWideChar(0, 0, cs[1], strlen(cs[1]), filename, strlen(cs[1]));
}
Run Code Online (Sandbox Code Playgroud)
出现这些错误:
error C2664: 'strlen' : cannot convert parameter 1 from 'const char' to 'const char *'
error C2664: 'MultiByteToWideChar' : cannot convert parameter 3 from 'const char' to 'LPCCH'
Run Code Online (Sandbox Code Playgroud)
我试过这个(相同的函数头),从这篇文章中松散地改编:
size_t retVal; …Run Code Online (Sandbox Code Playgroud) 我不能让onload事件为Canvas元素工作.这是HTML:
<!DOCTYPE html>
<html>
<head>
<script src="js/main.js"></script>
</head>
<body>
<canvas id="modelZone" onload="initializeCanvas();" width="400" height="300"></canvas>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这里是Javascript main.js:
function initializeCanvas(){
alert("hello");
}
Run Code Online (Sandbox Code Playgroud)
我知道HTML被发现main.js,因为如果我改变onload到onclick它正常工作:点击画布的区域触发警报.那么为什么我不能这样做onload呢?
我正在尝试将我的Facebook Feed输出到div元素.
使用此代码:
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'APP ID HERE',
xfbml : true,
version : 'v2.1'
});
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
console.log('Logged in.');
}
else {
console.log('initiate FB login...');
FB.login();
}
});
FB.api('/me/feed',function(response){
var idDiv=document.getElementById('result');
idDiv.textContent=JSON.stringify(response);
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
console.log(js.length);
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div id='result'></div>
Run Code Online (Sandbox Code Playgroud)
我在控制台上显示"登录",所以我知道FB.getLoginStatus()已经返回了connected.
该 …
我正在使用Access VBA来解析带有正则表达式的字符串.这是我的正则表达式函数:
Function regexSearch(pattern As String, source As String) As String
Dim re As RegExp
Dim matches As MatchCollection
Dim match As match
Set re = New RegExp
re.IgnoreCase = True
re.pattern = pattern
Set matches = re.Execute(source)
If matches.Count > 0 Then
regexSearch = matches(0).Value
Else
regexSearch = ""
End If
End Function
Run Code Online (Sandbox Code Playgroud)
当我测试它时:
regexSearch("^.+(?=[ _-]+mp)", "153 - MP 13.61 to MP 17.65")
Run Code Online (Sandbox Code Playgroud)
我期待得到:
153
Run Code Online (Sandbox Code Playgroud)
因为它和第一个'MP'实例之间的唯一字符是前瞻中指定的类中的字符.
但我的实际回报值是:
153 - MP 13.61 to
Run Code Online (Sandbox Code Playgroud)
为什么它会达到第二个"MP"?
我正在尝试使用Chip Pearson的代码来覆盖现有的VBA代码模块,并从另一个项目导入.原始代码在这里.
我正在看的特定部分是:
With ToVBProject.VBComponents
.Remove .Item(ModuleName)
End With
Run Code Online (Sandbox Code Playgroud)
但是这个VBComponents.Remove调用有时只有在VBA执行停止后才会生效 - 也就是说,删除操作在所有语句完成之后才会生效,或者如果代码遇到断点然后我停止调试.这是一个问题,因为以下代码用于导入新模块或用新模块替换现有模块的代码:
Set VBComp = Nothing
Set VBComp = ToVBProject.VBComponents(CompName)
If VBComp Is Nothing Then
ToVBProject.VBComponents.import filename:=FName
Else
If VBComp.Type = vbext_ct_Document Then
'delete the module's code,
'import a temp module,
'copy over the temp module code,
'delete the temp module
End If
End If
Run Code Online (Sandbox Code Playgroud)
模块删除尚未生效,所以VBComp不是Nothing,只要调试器知道.所以.import不会被召唤.
即使我注释掉if VBComp.Type = vbext_ct_document then并且end if新模块的代码将覆盖现有的代码,无论VBComp.Type它是什么,一旦代码完成执行,模块仍将最终被删除,并且不会导致替换它.
奇怪的是,所有模块都不会发生这种情况; 一些实际上在 …
vba ×5
excel ×4
excel-vba ×3
javascript ×3
facebook ×2
c++ ×1
canvas ×1
html5 ×1
office-2010 ×1
regex ×1
visual-c++ ×1