当我尝试粘贴到我当前的工作簿(下面的最后一行代码)时,我收到438错误 - '对象不支持此属性或方法'。我知道当我引用两个不同的工作簿(即使用workbook.open设置两个工作簿)时代码可以工作,但是当我尝试使用ThisWorkbook来引用我自己的工作簿时,它就会失败。有任何想法吗?遗憾的是,我无法在论坛的其他地方找到解决方案。感谢。
Dim Data As Workbook
FName = Application.GetOpenFilename
Set Data = Workbooks.Open(FName)
Data.ActiveSheet.Range("A5").copy
ThisWorkbook.Sheets("Cars").Range("B5").Paste
答案 0 :(得分:2)
Range
没有方法Paste
。它只有PasteSpecial
Worksheet
有Paste
,如果你想使用那个。{/ p>
但你真正想要的是
Data.ActiveSheet.Range("A5").Copy ThisWorkbook.Sheets("Cars").Range("B5")
答案 1 :(得分:1)
ThisWorkbook.Sheets("Cars").Range("B5").Paste
Sheets
集合返回Object
,这意味着链接到它的任何内容都将是一个后期绑定调用,在运行时解析。这也意味着 IntelliSense 无法帮助您,因为没有关于实际类型的编译时知识。
声明Range
对象变量:
Dim target As Range
然后分配:
Set target = ThisWorkbook.Worksheets("Cars").Range("B5")
如果"Cars"
工作表在编译时存在,请为其提供代码名称并使用它,而不是从Worksheets
集合中取消引用该对象(使用{{ 1}}当您打算提取Worksheets
时,Worksheet
集合包含许多非工作表工作表类型):
Sheets
现在,当您输入此点时,您将获得 IntelliSense :
Set target = CarsSheet.Range("B5")
然后,进行不存在的成员通话要困难得多:
那就是说,as GSerg already mentioned你真正应该做的是提供target.
方法的目标范围作为参数。
答案 2 :(得分:0)
如果您只需要价值,那么您可以使用以下内容:
import requests
url = 'https://api.optconnect.com/summit/beta/accounts/login/app_secret'
data = {'accountId': 000,
'applicationId': 000,
'secret': '000'}
data = json.dumps(data)
headers = {'accept': 'application/json', 'content-type': 'application/json' }
req = requests.get(url=url, data=data, headers=headers)
print(req.status_code)