SmartArt vba powerpoint nodes detection












0















I am trying to check for particular RGB characters in my smart art. For that I have written the following code.It counts for the nodes and in each of the node it counts for the shapes and then reads every character RGB. It runs without error but does not work when there are child nodes as well. It only works when there are single parent nodes only. Any idea where the problem is.



 Sub smartart(osmart As Shape, j)

Dim tnodes As Integer
Dim n, ns, nsc, ms, cs
Dim u, v, w, t

u = 0
v = 0
w= 0
t = 0


tnodes = osmart.smartart.AllNodes.Count

Debug.Print tnodes
For n = 1 To tnodes

With osmart.smartart.AllNodes(n)

ns = .Shapes.Count

For nsc = 1 To ns

With osmart.smartart.AllNodes(n).Shapes(nsc).TextFrame2.TextRange


ms = .Characters.Count
Debug.Print "chaaracters = " & ms

For cs = 1 To .Characters.Count

With .Characters(cs).Font.Fill

If u <> 1 Then
If .ForeColor.RGB = RGB(0, 0, 0) Then
u = 1
End If
End If

If v <> 1 Then
If .ForeColor.RGB = RGB(0, 1, 1) Then
Debug.Print "Slide (" & j & ") has secondary colour( " & osmart.Name & " )"

ElseIf .ForeColor.RGB = RGB(5, 5, 5) Then
Debug.Print "Slide (" & j & ") has secondary colour( " & osmart.Name & " )"
v = 1
End If
End If

If w <> 1 Then
If .ForeColor.RGB = RGB(10, 2, 200) Then
Debug.Print "Slide " & j & " has accent colour( " & osmart.Name & " )"
w = 1

ElseIf .ForeColor.RGB = RGB(6, 6, 66) Then
Debug.Print "Slide " & j & " has accent colour( " & osmart.Name & " )"
w = 1

End If
End If






End With
Next cs
End With
Next nsc
End With


Next n



End Sub










share|improve this question



























    0















    I am trying to check for particular RGB characters in my smart art. For that I have written the following code.It counts for the nodes and in each of the node it counts for the shapes and then reads every character RGB. It runs without error but does not work when there are child nodes as well. It only works when there are single parent nodes only. Any idea where the problem is.



     Sub smartart(osmart As Shape, j)

    Dim tnodes As Integer
    Dim n, ns, nsc, ms, cs
    Dim u, v, w, t

    u = 0
    v = 0
    w= 0
    t = 0


    tnodes = osmart.smartart.AllNodes.Count

    Debug.Print tnodes
    For n = 1 To tnodes

    With osmart.smartart.AllNodes(n)

    ns = .Shapes.Count

    For nsc = 1 To ns

    With osmart.smartart.AllNodes(n).Shapes(nsc).TextFrame2.TextRange


    ms = .Characters.Count
    Debug.Print "chaaracters = " & ms

    For cs = 1 To .Characters.Count

    With .Characters(cs).Font.Fill

    If u <> 1 Then
    If .ForeColor.RGB = RGB(0, 0, 0) Then
    u = 1
    End If
    End If

    If v <> 1 Then
    If .ForeColor.RGB = RGB(0, 1, 1) Then
    Debug.Print "Slide (" & j & ") has secondary colour( " & osmart.Name & " )"

    ElseIf .ForeColor.RGB = RGB(5, 5, 5) Then
    Debug.Print "Slide (" & j & ") has secondary colour( " & osmart.Name & " )"
    v = 1
    End If
    End If

    If w <> 1 Then
    If .ForeColor.RGB = RGB(10, 2, 200) Then
    Debug.Print "Slide " & j & " has accent colour( " & osmart.Name & " )"
    w = 1

    ElseIf .ForeColor.RGB = RGB(6, 6, 66) Then
    Debug.Print "Slide " & j & " has accent colour( " & osmart.Name & " )"
    w = 1

    End If
    End If






    End With
    Next cs
    End With
    Next nsc
    End With


    Next n



    End Sub










    share|improve this question

























      0












      0








      0








      I am trying to check for particular RGB characters in my smart art. For that I have written the following code.It counts for the nodes and in each of the node it counts for the shapes and then reads every character RGB. It runs without error but does not work when there are child nodes as well. It only works when there are single parent nodes only. Any idea where the problem is.



       Sub smartart(osmart As Shape, j)

      Dim tnodes As Integer
      Dim n, ns, nsc, ms, cs
      Dim u, v, w, t

      u = 0
      v = 0
      w= 0
      t = 0


      tnodes = osmart.smartart.AllNodes.Count

      Debug.Print tnodes
      For n = 1 To tnodes

      With osmart.smartart.AllNodes(n)

      ns = .Shapes.Count

      For nsc = 1 To ns

      With osmart.smartart.AllNodes(n).Shapes(nsc).TextFrame2.TextRange


      ms = .Characters.Count
      Debug.Print "chaaracters = " & ms

      For cs = 1 To .Characters.Count

      With .Characters(cs).Font.Fill

      If u <> 1 Then
      If .ForeColor.RGB = RGB(0, 0, 0) Then
      u = 1
      End If
      End If

      If v <> 1 Then
      If .ForeColor.RGB = RGB(0, 1, 1) Then
      Debug.Print "Slide (" & j & ") has secondary colour( " & osmart.Name & " )"

      ElseIf .ForeColor.RGB = RGB(5, 5, 5) Then
      Debug.Print "Slide (" & j & ") has secondary colour( " & osmart.Name & " )"
      v = 1
      End If
      End If

      If w <> 1 Then
      If .ForeColor.RGB = RGB(10, 2, 200) Then
      Debug.Print "Slide " & j & " has accent colour( " & osmart.Name & " )"
      w = 1

      ElseIf .ForeColor.RGB = RGB(6, 6, 66) Then
      Debug.Print "Slide " & j & " has accent colour( " & osmart.Name & " )"
      w = 1

      End If
      End If






      End With
      Next cs
      End With
      Next nsc
      End With


      Next n



      End Sub










      share|improve this question














      I am trying to check for particular RGB characters in my smart art. For that I have written the following code.It counts for the nodes and in each of the node it counts for the shapes and then reads every character RGB. It runs without error but does not work when there are child nodes as well. It only works when there are single parent nodes only. Any idea where the problem is.



       Sub smartart(osmart As Shape, j)

      Dim tnodes As Integer
      Dim n, ns, nsc, ms, cs
      Dim u, v, w, t

      u = 0
      v = 0
      w= 0
      t = 0


      tnodes = osmart.smartart.AllNodes.Count

      Debug.Print tnodes
      For n = 1 To tnodes

      With osmart.smartart.AllNodes(n)

      ns = .Shapes.Count

      For nsc = 1 To ns

      With osmart.smartart.AllNodes(n).Shapes(nsc).TextFrame2.TextRange


      ms = .Characters.Count
      Debug.Print "chaaracters = " & ms

      For cs = 1 To .Characters.Count

      With .Characters(cs).Font.Fill

      If u <> 1 Then
      If .ForeColor.RGB = RGB(0, 0, 0) Then
      u = 1
      End If
      End If

      If v <> 1 Then
      If .ForeColor.RGB = RGB(0, 1, 1) Then
      Debug.Print "Slide (" & j & ") has secondary colour( " & osmart.Name & " )"

      ElseIf .ForeColor.RGB = RGB(5, 5, 5) Then
      Debug.Print "Slide (" & j & ") has secondary colour( " & osmart.Name & " )"
      v = 1
      End If
      End If

      If w <> 1 Then
      If .ForeColor.RGB = RGB(10, 2, 200) Then
      Debug.Print "Slide " & j & " has accent colour( " & osmart.Name & " )"
      w = 1

      ElseIf .ForeColor.RGB = RGB(6, 6, 66) Then
      Debug.Print "Slide " & j & " has accent colour( " & osmart.Name & " )"
      w = 1

      End If
      End If






      End With
      Next cs
      End With
      Next nsc
      End With


      Next n



      End Sub







      character nodes rgb powerpoint-vba shapes






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 21 '18 at 15:51









      Muhammad MustafaMuhammad Mustafa

      86




      86
























          0






          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53415796%2fsmartart-vba-powerpoint-nodes-detection%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53415796%2fsmartart-vba-powerpoint-nodes-detection%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

          Alcedinidae

          RAC Tourist Trophy