Tag: 化学

使用Excel中的VBAmacros从NCI Chemical Identifier Resolver中检索化学结构的图像

基于本网站给出的代码(见下文),我想调整一些VBA Excelmacros来将化学名称转换成Excel中的化学结构,使用NCI Chemical Identifier Resolver, url为http://cactus.nci.nih.gov/chemical /结构体 具体来说,我想扩展代码,使其有一个额外的函数来返回结构的图像(GIF),其中结构的图像应该从 XMLhttp.Open "GET", "http://cactus.nci.nih.gov/chemical/structure/" + name + "/image", False 然后将其保存在公式所在位置的Excel工作表中(可能还要调整行的大小以适应返回的图像)。 任何想法如何实现? 任何意见将不胜感激! 欢呼,汤姆 Private Function strip(ByVal str As String) As String Dim last For i = 1 To Len(str) Step 1 If Asc(Mid(str, i, 1)) < 33 Then last = i End If Next i If last > […]

从化学公式中提取数字

道歉,如果这已经被问及答复,但我找不到满意的答案。 我有一个化学公式列表,按顺序包括:C,H,N和O.我想在每个字母后面加上数字。 问题是并不是所有的公式都包含一个N.然而,所有的公式都包含一个C,H和O. 这个数字可以是单数,双数或(只在H的情况下)三位数。 因此数据如下所示: C20H37N1O5 C10H12O3 C20H19N3O4 C23H40O3 C9H13N1O3 C14H26O4 C58H100N2O9 我想列表中的每个元素编号在单独的列。 所以在第一个例子中是这样的: 20 37 1 5 我一直在尝试: =IFERROR(MID(LEFT(A2,FIND("H",A2)-1),FIND("C",A2)+1,LEN(A2)),"") 分离出C#。 然而,在这之后,我被卡住了,因为H#的两侧是O或N. 有没有可以做到这一点的Excel公式或VBA?